http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java b/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java index 975eb8e..30fbb0d 100644 --- a/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java +++ b/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java @@ -26,9 +26,9 @@ import java.util.List; import org.junit.BeforeClass; import org.junit.Test; -import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.schema.ColumnMetadata; import org.apache.cassandra.config.DatabaseDescriptor; -import org.apache.cassandra.config.Schema; +import org.apache.cassandra.schema.Schema; import org.apache.cassandra.cql3.*; import org.apache.cassandra.cql3.statements.SelectStatement; import org.apache.cassandra.db.marshal.*; @@ -45,7 +45,7 @@ import static org.junit.Assert.assertTrue; public class SelectionColumnMappingTest extends CQLTester { - private static final ColumnDefinition NULL_DEF = null; + private static final ColumnMetadata NULL_DEF = null; String tableName; String typeName; UserType userType; @@ -71,7 +71,7 @@ public class SelectionColumnMappingTest extends CQLTester " v1 int," + " v2 ascii," + " v3 frozen<" + typeName + ">)"); - userType = Schema.instance.getKSMetaData(KEYSPACE).types.get(ByteBufferUtil.bytes(typeName)).get().freeze(); + userType = Schema.instance.getKeyspaceMetadata(KEYSPACE).types.get(ByteBufferUtil.bytes(typeName)).get().freeze(); functionName = createFunction(KEYSPACE, "int, ascii", "CREATE FUNCTION %s (i int, a ascii) " + "CALLED ON NULL INPUT " + @@ -130,7 +130,7 @@ public class SelectionColumnMappingTest extends CQLTester private void testSimpleTypes() throws Throwable { // simple column identifiers without aliases are represented in - // ResultSet.Metadata by the underlying ColumnDefinition + // ResultSet.Metadata by the underlying ColumnMetadata ColumnSpecification kSpec = columnSpecification("k", Int32Type.instance); ColumnSpecification v1Spec = columnSpecification("v1", Int32Type.instance); ColumnSpecification v2Spec = columnSpecification("v2", AsciiType.instance); @@ -144,12 +144,12 @@ public class SelectionColumnMappingTest extends CQLTester private void testWildcard() throws Throwable { - // Wildcard select represents each column in the table with a ColumnDefinition + // Wildcard select represents each column in the table with a ColumnMetadata // in the ResultSet metadata - ColumnDefinition kSpec = columnDefinition("k"); - ColumnDefinition v1Spec = columnDefinition("v1"); - ColumnDefinition v2Spec = columnDefinition("v2"); - ColumnDefinition v3Spec = columnDefinition("v3"); + ColumnMetadata kSpec = columnDefinition("k"); + ColumnMetadata v1Spec = columnDefinition("v1"); + ColumnMetadata v2Spec = columnDefinition("v2"); + ColumnMetadata v3Spec = columnDefinition("v3"); SelectionColumnMapping expected = SelectionColumnMapping.newMapping() .addMapping(kSpec, columnDefinition("k")) .addMapping(v1Spec, columnDefinition("v1")) @@ -162,7 +162,7 @@ public class SelectionColumnMappingTest extends CQLTester private void testSimpleTypesWithAliases() throws Throwable { // simple column identifiers with aliases are represented in ResultSet.Metadata - // by a ColumnSpecification based on the underlying ColumnDefinition + // by a ColumnSpecification based on the underlying ColumnMetadata ColumnSpecification kSpec = columnSpecification("k_alias", Int32Type.instance); ColumnSpecification v1Spec = columnSpecification("v1_alias", Int32Type.instance); ColumnSpecification v2Spec = columnSpecification("v2_alias", AsciiType.instance); @@ -406,7 +406,7 @@ public class SelectionColumnMappingTest extends CQLTester private void testMultipleUnaliasedSelectionOfSameColumn() throws Throwable { // simple column identifiers without aliases are represented in - // ResultSet.Metadata by the underlying ColumnDefinition + // ResultSet.Metadata by the underlying ColumnMetadata SelectionColumns expected = SelectionColumnMapping.newMapping() .addMapping(columnSpecification("v1", Int32Type.instance), columnDefinition("v1")) @@ -430,7 +430,7 @@ public class SelectionColumnMappingTest extends CQLTester { ColumnSpecification listSpec = columnSpecification("(list<int>)[]", ListType.getInstance(Int32Type.instance, false)); SelectionColumnMapping expected = SelectionColumnMapping.newMapping() - .addMapping(listSpec, (ColumnDefinition) null); + .addMapping(listSpec, (ColumnMetadata) null); verify(expected, "SELECT (list<int>)[] FROM %s"); } @@ -449,7 +449,7 @@ public class SelectionColumnMappingTest extends CQLTester { ColumnSpecification setSpec = columnSpecification("(set<int>){}", SetType.getInstance(Int32Type.instance, false)); SelectionColumnMapping expected = SelectionColumnMapping.newMapping() - .addMapping(setSpec, (ColumnDefinition) null); + .addMapping(setSpec, (ColumnMetadata) null); verify(expected, "SELECT (set<int>){} FROM %s"); } @@ -467,7 +467,7 @@ public class SelectionColumnMappingTest extends CQLTester { ColumnSpecification mapSpec = columnSpecification("(map<text, int>){}", MapType.getInstance(UTF8Type.instance, Int32Type.instance, false)); SelectionColumnMapping expected = SelectionColumnMapping.newMapping() - .addMapping(mapSpec, (ColumnDefinition) null); + .addMapping(mapSpec, (ColumnMetadata) null); verify(expected, "SELECT (map<text, int>){} FROM %s"); } @@ -557,7 +557,7 @@ public class SelectionColumnMappingTest extends CQLTester " LANGUAGE javascript" + " AS 'a*a'"); - ColumnDefinition v1 = columnDefinition("v1"); + ColumnMetadata v1 = columnDefinition("v1"); SelectionColumns expected = SelectionColumnMapping.newMapping() .addMapping(columnSpecification(aFunc + "(v1)", Int32Type.instance), @@ -600,18 +600,17 @@ public class SelectionColumnMappingTest extends CQLTester assertEquals(expected, select.getSelection().getColumnMapping()); } - private Iterable<ColumnDefinition> columnDefinitions(String...names) + private Iterable<ColumnMetadata> columnDefinitions(String...names) { - List<ColumnDefinition> defs = new ArrayList<>(); + List<ColumnMetadata> defs = new ArrayList<>(); for (String n : names) defs.add(columnDefinition(n)); return defs; } - private ColumnDefinition columnDefinition(String name) + private ColumnMetadata columnDefinition(String name) { - return Schema.instance.getCFMetaData(KEYSPACE, tableName) - .getColumnDefinition(new ColumnIdentifier(name, true)); + return Schema.instance.getTableMetadata(KEYSPACE, tableName).getColumn(new ColumnIdentifier(name, true)); }
http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java index 15a93a1..f098126 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/SecondaryIndexTest.java @@ -25,8 +25,8 @@ import java.util.concurrent.CountDownLatch; import org.apache.commons.lang3.StringUtils; import org.junit.Test; -import org.apache.cassandra.config.CFMetaData; -import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.schema.ColumnMetadata; +import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.cql3.ColumnIdentifier; @@ -111,9 +111,9 @@ public class SecondaryIndexTest extends CQLTester // IF NOT EXISTS should apply in cases where the new index differs from an existing one in name only String otherIndexName = "index_" + System.nanoTime(); - assertEquals(1, getCurrentColumnFamilyStore().metadata.getIndexes().size()); + assertEquals(1, getCurrentColumnFamilyStore().metadata().indexes.size()); createIndex("CREATE INDEX IF NOT EXISTS " + otherIndexName + " ON %s(b)"); - assertEquals(1, getCurrentColumnFamilyStore().metadata.getIndexes().size()); + assertEquals(1, getCurrentColumnFamilyStore().metadata().indexes.size()); assertInvalidMessage(String.format("Index %s is a duplicate of existing index %s", removeQuotes(otherIndexName.toLowerCase(Locale.US)), removeQuotes(indexName.toLowerCase(Locale.US))), @@ -845,11 +845,11 @@ public class SecondaryIndexTest extends CQLTester createIndex(String.format("CREATE CUSTOM INDEX c_idx_2 ON %%s(c) USING '%s' WITH OPTIONS = {'foo':'b'}", indexClassName)); ColumnFamilyStore cfs = getCurrentColumnFamilyStore(); - CFMetaData cfm = cfs.metadata; - StubIndex index1 = (StubIndex)cfs.indexManager.getIndex(cfm.getIndexes() + TableMetadata cfm = cfs.metadata(); + StubIndex index1 = (StubIndex)cfs.indexManager.getIndex(cfm.indexes .get("c_idx_1") .orElseThrow(throwAssert("index not found"))); - StubIndex index2 = (StubIndex)cfs.indexManager.getIndex(cfm.getIndexes() + StubIndex index2 = (StubIndex)cfs.indexManager.getIndex(cfm.indexes .get("c_idx_2") .orElseThrow(throwAssert("index not found"))); Object[] row1a = row(0, 0, 0); @@ -887,8 +887,8 @@ public class SecondaryIndexTest extends CQLTester createIndex(String.format("CREATE CUSTOM INDEX c_idx ON %%s(c) USING '%s'", indexClassName)); ColumnFamilyStore cfs = getCurrentColumnFamilyStore(); - CFMetaData cfm = cfs.metadata; - StubIndex index1 = (StubIndex) cfs.indexManager.getIndex(cfm.getIndexes() + TableMetadata cfm = cfs.metadata(); + StubIndex index1 = (StubIndex) cfs.indexManager.getIndex(cfm.indexes .get("c_idx") .orElseThrow(throwAssert("index not found"))); @@ -943,8 +943,8 @@ public class SecondaryIndexTest extends CQLTester createIndex(String.format("CREATE CUSTOM INDEX test_index ON %%s() USING '%s'", StubIndex.class.getName())); execute("INSERT INTO %s (k, c, v1, v2) VALUES (0, 0, 0, 0) USING TIMESTAMP 0"); - ColumnDefinition v1 = getCurrentColumnFamilyStore().metadata.getColumnDefinition(new ColumnIdentifier("v1", true)); - ColumnDefinition v2 = getCurrentColumnFamilyStore().metadata.getColumnDefinition(new ColumnIdentifier("v2", true)); + ColumnMetadata v1 = getCurrentColumnFamilyStore().metadata().getColumn(new ColumnIdentifier("v1", true)); + ColumnMetadata v2 = getCurrentColumnFamilyStore().metadata().getColumn(new ColumnIdentifier("v2", true)); StubIndex index = (StubIndex)getCurrentColumnFamilyStore().indexManager.getIndexByName("test_index"); assertEquals(1, index.rowsInserted.size()); @@ -1336,16 +1336,16 @@ public class SecondaryIndexTest extends CQLTester ClientState.forInternalCalls()); } - private void validateCell(Cell cell, ColumnDefinition def, ByteBuffer val, long timestamp) + private void validateCell(Cell cell, ColumnMetadata def, ByteBuffer val, long timestamp) { assertNotNull(cell); assertEquals(0, def.type.compare(cell.value(), val)); assertEquals(timestamp, cell.timestamp()); } - private static void assertColumnValue(int expected, String name, Row row, CFMetaData cfm) + private static void assertColumnValue(int expected, String name, Row row, TableMetadata cfm) { - ColumnDefinition col = cfm.getColumnDefinition(new ColumnIdentifier(name, true)); + ColumnMetadata col = cfm.getColumn(new ColumnIdentifier(name, true)); AbstractType<?> type = col.type; assertEquals(expected, type.compose(row.getCell(col).value())); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/entities/UFAuthTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/UFAuthTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/UFAuthTest.java index 3affe9a..ecff0cc 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/UFAuthTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UFAuthTest.java @@ -28,7 +28,7 @@ import org.junit.Test; import org.apache.cassandra.auth.*; import org.apache.cassandra.config.DatabaseDescriptor; -import org.apache.cassandra.config.Schema; +import org.apache.cassandra.schema.Schema; import org.apache.cassandra.cql3.*; import org.apache.cassandra.cql3.functions.Function; import org.apache.cassandra.cql3.functions.FunctionName; http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/entities/UFJavaTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/UFJavaTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/UFJavaTest.java index a7c09b1..187871a 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/UFJavaTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UFJavaTest.java @@ -33,15 +33,14 @@ import com.datastax.driver.core.Row; import com.datastax.driver.core.TupleType; import com.datastax.driver.core.TupleValue; import com.datastax.driver.core.UDTValue; -import org.apache.cassandra.config.Schema; import org.apache.cassandra.cql3.CQL3Type; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.cql3.UntypedResultSet; import org.apache.cassandra.cql3.functions.FunctionName; import org.apache.cassandra.exceptions.FunctionExecutionException; import org.apache.cassandra.exceptions.InvalidRequestException; +import org.apache.cassandra.schema.Schema; import org.apache.cassandra.transport.ProtocolVersion; -import org.apache.cassandra.transport.Server; public class UFJavaTest extends CQLTester { http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java index 74f6409..7940b92 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java @@ -28,7 +28,6 @@ import org.junit.Test; import com.datastax.driver.core.*; import com.datastax.driver.core.exceptions.InvalidQueryException; -import org.apache.cassandra.config.Schema; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.cql3.UntypedResultSet; @@ -38,6 +37,7 @@ import org.apache.cassandra.cql3.functions.UDFunction; import org.apache.cassandra.db.marshal.CollectionType; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.schema.KeyspaceMetadata; +import org.apache.cassandra.schema.Schema; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.transport.*; import org.apache.cassandra.transport.ProtocolVersion; @@ -823,7 +823,7 @@ public class UFTest extends CQLTester "LANGUAGE JAVA\n" + "AS 'throw new RuntimeException();';"); - KeyspaceMetadata ksm = Schema.instance.getKSMetaData(KEYSPACE_PER_TEST); + KeyspaceMetadata ksm = Schema.instance.getKeyspaceMetadata(KEYSPACE_PER_TEST); UDFunction f = (UDFunction) ksm.functions.get(parseFunctionName(fName)).iterator().next(); UDFunction broken = UDFunction.createBrokenFunction(f.name(), @@ -834,7 +834,7 @@ public class UFTest extends CQLTester "java", f.body(), new InvalidRequestException("foo bar is broken")); - Schema.instance.setKeyspaceMetadata(ksm.withSwapped(ksm.functions.without(f.name(), f.argTypes()).with(broken))); + Schema.instance.load(ksm.withSwapped(ksm.functions.without(f.name(), f.argTypes()).with(broken))); assertInvalidThrowMessage("foo bar is broken", InvalidRequestException.class, "SELECT key, " + fName + "(dval) FROM %s"); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java b/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java index 2760ae5..becbdad 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/miscellaneous/CrcCheckChanceTest.java @@ -135,7 +135,7 @@ public class CrcCheckChanceTest extends CQLTester alterTable("ALTER TABLE %s WITH compression = {'sstable_compression': 'LZ4Compressor', 'crc_check_chance': 0.5}"); //We should be able to get the new value by accessing directly the schema metadata - Assert.assertEquals(0.5, cfs.metadata.params.crcCheckChance); + Assert.assertEquals(0.5, cfs.metadata().params.crcCheckChance); //but previous JMX-set value will persist until next restart Assert.assertEquals(0.01, cfs.getLiveSSTables().iterator().next().getCrcCheckChance()); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java index cfedc08..c79c596 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java @@ -40,8 +40,8 @@ import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.spi.TurboFilterList; import ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter; import ch.qos.logback.classic.turbo.TurboFilter; -import org.apache.cassandra.config.Schema; -import org.apache.cassandra.config.SchemaConstants; +import org.apache.cassandra.schema.Schema; +import org.apache.cassandra.schema.SchemaConstants; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.cql3.UntypedResultSet; @@ -1282,7 +1282,7 @@ public class AggregationTest extends CQLTester "SFUNC " + shortFunctionName(fState) + " " + "STYPE int "); - KeyspaceMetadata ksm = Schema.instance.getKSMetaData(keyspace()); + KeyspaceMetadata ksm = Schema.instance.getKeyspaceMetadata(keyspace()); UDAggregate f = (UDAggregate) ksm.functions.get(parseFunctionName(a)).iterator().next(); UDAggregate broken = UDAggregate.createBroken(f.name(), @@ -1291,7 +1291,7 @@ public class AggregationTest extends CQLTester null, new InvalidRequestException("foo bar is broken")); - Schema.instance.setKeyspaceMetadata(ksm.withSwapped(ksm.functions.without(f.name(), f.argTypes()).with(broken))); + Schema.instance.load(ksm.withSwapped(ksm.functions.without(f.name(), f.argTypes()).with(broken))); assertInvalidThrowMessage("foo bar is broken", InvalidRequestException.class, "SELECT " + a + "(val) FROM %s"); http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java index 3f98df1..88c6a3f 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java @@ -20,7 +20,7 @@ package org.apache.cassandra.cql3.validation.operations; import org.junit.Assert; import org.junit.Test; -import org.apache.cassandra.config.SchemaConstants; +import org.apache.cassandra.schema.SchemaConstants; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Keyspace; @@ -183,12 +183,12 @@ public class AlterTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(KEYSPACE).getColumnFamilyStore(tableName); alterTable("ALTER TABLE %s WITH min_index_interval=256 AND max_index_interval=512"); - assertEquals(256, cfs.metadata.params.minIndexInterval); - assertEquals(512, cfs.metadata.params.maxIndexInterval); + assertEquals(256, cfs.metadata().params.minIndexInterval); + assertEquals(512, cfs.metadata().params.maxIndexInterval); alterTable("ALTER TABLE %s WITH caching = {}"); - assertEquals(256, cfs.metadata.params.minIndexInterval); - assertEquals(512, cfs.metadata.params.maxIndexInterval); + assertEquals(256, cfs.metadata().params.minIndexInterval); + assertEquals(512, cfs.metadata().params.maxIndexInterval); } /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java index b92b0df..6339a46 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/CreateTest.java @@ -26,10 +26,11 @@ import java.util.UUID; import org.junit.Test; -import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.schema.TableMetadata; +import org.apache.cassandra.schema.TableMetadataRef; import org.apache.cassandra.config.DatabaseDescriptor; -import org.apache.cassandra.config.Schema; -import org.apache.cassandra.config.SchemaConstants; +import org.apache.cassandra.schema.Schema; +import org.apache.cassandra.schema.SchemaConstants; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.cql3.Duration; import org.apache.cassandra.db.Mutation; @@ -819,14 +820,14 @@ public class CreateTest extends CQLTester private void assertTriggerExists(String name) { - CFMetaData cfm = Schema.instance.getCFMetaData(keyspace(), currentTable()).copy(); - assertTrue("the trigger does not exist", cfm.getTriggers().get(name).isPresent()); + TableMetadata metadata = Schema.instance.getTableMetadata(keyspace(), currentTable()); + assertTrue("the trigger does not exist", metadata.triggers.get(name).isPresent()); } private void assertTriggerDoesNotExists(String name) { - CFMetaData cfm = Schema.instance.getCFMetaData(keyspace(), currentTable()).copy(); - assertFalse("the trigger exists", cfm.getTriggers().get(name).isPresent()); + TableMetadata metadata = Schema.instance.getTableMetadata(keyspace(), currentTable()); + assertFalse("the trigger exists", metadata.triggers.get(name).isPresent()); } public static class TestTrigger implements ITrigger http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/operations/DropRecreateAndRestoreTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/DropRecreateAndRestoreTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/DropRecreateAndRestoreTest.java index f491d24..19aba64 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/DropRecreateAndRestoreTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/DropRecreateAndRestoreTest.java @@ -19,7 +19,6 @@ package org.apache.cassandra.cql3.validation.operations; import java.io.File; import java.util.List; -import java.util.UUID; import org.junit.Test; @@ -30,6 +29,7 @@ import org.apache.cassandra.exceptions.AlreadyExistsException; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.io.util.FileUtils; +import org.apache.cassandra.schema.TableId; public class DropRecreateAndRestoreTest extends CQLTester { @@ -43,7 +43,7 @@ public class DropRecreateAndRestoreTest extends CQLTester long time = System.currentTimeMillis(); - UUID id = currentTableMetadata().cfId; + TableId id = currentTableMetadata().id; assertRows(execute("SELECT * FROM %s"), row(0, 0, 0), row(0, 1, 1)); Thread.sleep(5); @@ -84,7 +84,7 @@ public class DropRecreateAndRestoreTest extends CQLTester public void testCreateWithIdDuplicate() throws Throwable { createTable("CREATE TABLE %s (a int, b int, c int, PRIMARY KEY(a, b))"); - UUID id = currentTableMetadata().cfId; + TableId id = currentTableMetadata().id; execute(String.format("CREATE TABLE %%s (a int, b int, c int, PRIMARY KEY(a, b)) WITH ID = %s", id)); } @@ -98,7 +98,7 @@ public class DropRecreateAndRestoreTest extends CQLTester public void testAlterWithId() throws Throwable { createTable("CREATE TABLE %s (a int, b int, c int, PRIMARY KEY(a, b))"); - UUID id = currentTableMetadata().cfId; + TableId id = currentTableMetadata().id; execute(String.format("ALTER TABLE %%s WITH ID = %s", id)); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java index b5f8b6c..7cbe085 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java @@ -23,7 +23,7 @@ import java.util.List; import org.junit.Test; -import org.apache.cassandra.config.SchemaConstants; +import org.apache.cassandra.schema.SchemaConstants; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.exceptions.SyntaxException; http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/CellTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/CellTest.java b/test/unit/org/apache/cassandra/db/CellTest.java index 86fb20e..febfa3c 100644 --- a/test/unit/org/apache/cassandra/db/CellTest.java +++ b/test/unit/org/apache/cassandra/db/CellTest.java @@ -27,16 +27,16 @@ import junit.framework.Assert; import org.junit.BeforeClass; import org.junit.Test; -import org.apache.cassandra.config.CFMetaData; -import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.ColumnIdentifier; import org.apache.cassandra.cql3.FieldIdentifier; import org.apache.cassandra.db.marshal.*; import org.apache.cassandra.db.rows.*; import org.apache.cassandra.exceptions.ConfigurationException; -import org.apache.cassandra.SchemaLoader; +import org.apache.cassandra.schema.ColumnMetadata; import org.apache.cassandra.schema.KeyspaceParams; +import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.serializers.MarshalException; import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.FBUtilities; @@ -54,13 +54,14 @@ public class CellTest private static final String CF_STANDARD1 = "Standard1"; private static final String CF_COLLECTION = "Collection1"; - private static final CFMetaData cfm = SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1); - private static final CFMetaData cfm2 = CFMetaData.Builder.create(KEYSPACE1, CF_COLLECTION) - .addPartitionKey("k", IntegerType.instance) - .addClusteringColumn("c", IntegerType.instance) - .addRegularColumn("v", IntegerType.instance) - .addRegularColumn("m", MapType.getInstance(IntegerType.instance, IntegerType.instance, true)) - .build(); + private static final TableMetadata cfm = SchemaLoader.standardCFMD(KEYSPACE1, CF_STANDARD1).build(); + private static final TableMetadata cfm2 = + TableMetadata.builder(KEYSPACE1, CF_COLLECTION) + .addPartitionKeyColumn("k", IntegerType.instance) + .addClusteringColumn("c", IntegerType.instance) + .addRegularColumn("v", IntegerType.instance) + .addRegularColumn("m", MapType.getInstance(IntegerType.instance, IntegerType.instance, true)) + .build(); @BeforeClass public static void defineSchema() throws ConfigurationException @@ -69,14 +70,14 @@ public class CellTest SchemaLoader.createKeyspace(KEYSPACE1, KeyspaceParams.simple(1), cfm, cfm2); } - private static ColumnDefinition fakeColumn(String name, AbstractType<?> type) + private static ColumnMetadata fakeColumn(String name, AbstractType<?> type) { - return new ColumnDefinition("fakeKs", - "fakeTable", - ColumnIdentifier.getInterned(name, false), - type, - ColumnDefinition.NO_POSITION, - ColumnDefinition.Kind.REGULAR); + return new ColumnMetadata("fakeKs", + "fakeTable", + ColumnIdentifier.getInterned(name, false), + type, + ColumnMetadata.NO_POSITION, + ColumnMetadata.Kind.REGULAR); } @Test @@ -130,7 +131,7 @@ public class CellTest @Test public void testValidate() { - ColumnDefinition c; + ColumnMetadata c; // Valid cells c = fakeColumn("c", Int32Type.instance); @@ -173,7 +174,7 @@ public class CellTest asList(f1, f2), asList(Int32Type.instance, UTF8Type.instance), true); - ColumnDefinition c; + ColumnMetadata c; // Valid cells c = fakeColumn("c", udt); @@ -207,7 +208,7 @@ public class CellTest asList(Int32Type.instance, UTF8Type.instance), false); - ColumnDefinition c = fakeColumn("c", udt); + ColumnMetadata c = fakeColumn("c", udt); ByteBuffer val = udt(bb(1), bb("foo")); // Valid cells @@ -278,7 +279,7 @@ public class CellTest @Test public void testComplexCellReconcile() { - ColumnDefinition m = cfm2.getColumnDefinition(new ColumnIdentifier("m", false)); + ColumnMetadata m = cfm2.getColumn(new ColumnIdentifier("m", false)); int now1 = FBUtilities.nowInSeconds(); long ts1 = now1*1000000; @@ -318,21 +319,21 @@ public class CellTest return Cells.reconcile(c2, c1, now) == c2 ? 1 : 0; } - private Cell regular(CFMetaData cfm, String columnName, String value, long timestamp) + private Cell regular(TableMetadata cfm, String columnName, String value, long timestamp) { - ColumnDefinition cdef = cfm.getColumnDefinition(ByteBufferUtil.bytes(columnName)); + ColumnMetadata cdef = cfm.getColumn(ByteBufferUtil.bytes(columnName)); return BufferCell.live(cdef, timestamp, ByteBufferUtil.bytes(value)); } - private Cell expiring(CFMetaData cfm, String columnName, String value, long timestamp, int localExpirationTime) + private Cell expiring(TableMetadata cfm, String columnName, String value, long timestamp, int localExpirationTime) { - ColumnDefinition cdef = cfm.getColumnDefinition(ByteBufferUtil.bytes(columnName)); + ColumnMetadata cdef = cfm.getColumn(ByteBufferUtil.bytes(columnName)); return new BufferCell(cdef, timestamp, 1, localExpirationTime, ByteBufferUtil.bytes(value), null); } - private Cell deleted(CFMetaData cfm, String columnName, int localDeletionTime, long timestamp) + private Cell deleted(TableMetadata cfm, String columnName, int localDeletionTime, long timestamp) { - ColumnDefinition cdef = cfm.getColumnDefinition(ByteBufferUtil.bytes(columnName)); + ColumnMetadata cdef = cfm.getColumn(ByteBufferUtil.bytes(columnName)); return BufferCell.tombstone(cdef, timestamp, localDeletionTime); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/CleanupTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/CleanupTest.java b/test/unit/org/apache/cassandra/db/CleanupTest.java index abd5a04..f576290 100644 --- a/test/unit/org/apache/cassandra/db/CleanupTest.java +++ b/test/unit/org/apache/cassandra/db/CleanupTest.java @@ -35,7 +35,7 @@ import org.junit.Test; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; -import org.apache.cassandra.config.ColumnDefinition; +import org.apache.cassandra.schema.ColumnMetadata; import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.filter.RowFilter; @@ -118,7 +118,7 @@ public class CleanupTest fillCF(cfs, "birthdate", LOOPS); assertEquals(LOOPS, Util.getAll(Util.cmd(cfs).build()).size()); - ColumnDefinition cdef = cfs.metadata.getColumnDefinition(COLUMN); + ColumnMetadata cdef = cfs.metadata().getColumn(COLUMN); String indexName = "birthdate_key_index"; long start = System.nanoTime(); while (!cfs.getBuiltIndexes().contains(indexName) && System.nanoTime() - start < TimeUnit.SECONDS.toNanos(10)) @@ -279,7 +279,7 @@ public class CleanupTest { String key = String.valueOf(i); // create a row and update the birthdate value, test that the index query fetches the new version - new RowUpdateBuilder(cfs.metadata, System.currentTimeMillis(), ByteBufferUtil.bytes(key)) + new RowUpdateBuilder(cfs.metadata(), System.currentTimeMillis(), ByteBufferUtil.bytes(key)) .clustering(COLUMN) .add(colName, VALUE) .build() http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java b/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java index 2f7aaa5..c016f9b 100644 --- a/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java +++ b/test/unit/org/apache/cassandra/db/ColumnFamilyMetricTest.java @@ -55,7 +55,7 @@ public class ColumnFamilyMetricTest for (int j = 0; j < 10; j++) { - new RowUpdateBuilder(cfs.metadata, FBUtilities.timestampMicros(), String.valueOf(j)) + new RowUpdateBuilder(cfs.metadata(), FBUtilities.timestampMicros(), String.valueOf(j)) .clustering("0") .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER) .build() @@ -91,7 +91,7 @@ public class ColumnFamilyMetricTest // This confirms another test/set up did not overflow the histogram store.metric.colUpdateTimeDeltaHistogram.cf.getSnapshot().get999thPercentile(); - new RowUpdateBuilder(store.metadata, 0, "4242") + new RowUpdateBuilder(store.metadata(), 0, "4242") .clustering("0") .add("val", ByteBufferUtil.bytes("0")) .build() @@ -101,7 +101,7 @@ public class ColumnFamilyMetricTest store.metric.colUpdateTimeDeltaHistogram.cf.getSnapshot().get999thPercentile(); // smallest time delta that would overflow the histogram if unfiltered - new RowUpdateBuilder(store.metadata, 18165375903307L, "4242") + new RowUpdateBuilder(store.metadata(), 18165375903307L, "4242") .clustering("0") .add("val", ByteBufferUtil.bytes("0")) .build() http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/ColumnFamilyStoreCQLHelperTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreCQLHelperTest.java b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreCQLHelperTest.java index 0b04bb3..59f9db3 100644 --- a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreCQLHelperTest.java +++ b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreCQLHelperTest.java @@ -31,7 +31,6 @@ import org.junit.Before; import org.junit.Test; import org.apache.cassandra.*; -import org.apache.cassandra.config.*; import org.apache.cassandra.cql3.*; import org.apache.cassandra.cql3.statements.*; import org.apache.cassandra.db.marshal.*; @@ -87,25 +86,23 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester typeB), true); - CFMetaData cfm = CFMetaData.Builder.create(keyspace, table) - .addPartitionKey("pk1", IntegerType.instance) - .addClusteringColumn("ck1", IntegerType.instance) - .addRegularColumn("reg1", typeC) - .addRegularColumn("reg2", ListType.getInstance(IntegerType.instance, false)) - .addRegularColumn("reg3", MapType.getInstance(AsciiType.instance, IntegerType.instance, true)) - .build(); + TableMetadata cfm = + TableMetadata.builder(keyspace, table) + .addPartitionKeyColumn("pk1", IntegerType.instance) + .addClusteringColumn("ck1", IntegerType.instance) + .addRegularColumn("reg1", typeC) + .addRegularColumn("reg2", ListType.getInstance(IntegerType.instance, false)) + .addRegularColumn("reg3", MapType.getInstance(AsciiType.instance, IntegerType.instance, true)) + .build(); - SchemaLoader.createKeyspace(keyspace, - KeyspaceParams.simple(1), - Tables.of(cfm), - Types.of(typeA, typeB, typeC)); + SchemaLoader.createKeyspace(keyspace, KeyspaceParams.simple(1), Tables.of(cfm), Types.of(typeA, typeB, typeC)); ColumnFamilyStore cfs = Keyspace.open(keyspace).getColumnFamilyStore(table); - assertEquals(ImmutableList.of("CREATE TYPE cql_test_keyspace_user_types.a(a1 varint, a2 varint, a3 varint);", - "CREATE TYPE cql_test_keyspace_user_types.b(b1 a, b2 a, b3 a);", - "CREATE TYPE cql_test_keyspace_user_types.c(c1 b, c2 b, c3 b);"), - ColumnFamilyStoreCQLHelper.getUserTypesAsCQL(cfs.metadata)); + assertEquals(ImmutableList.of("CREATE TYPE cql_test_keyspace_user_types.a (a1 varint, a2 varint, a3 varint);", + "CREATE TYPE cql_test_keyspace_user_types.b (b1 a, b2 a, b3 a);", + "CREATE TYPE cql_test_keyspace_user_types.c (c1 b, c2 b, c3 b);"), + ColumnFamilyStoreCQLHelper.getUserTypesAsCQL(cfs.metadata())); } @Test @@ -114,39 +111,36 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester String keyspace = "cql_test_keyspace_dropped_columns"; String table = "test_table_dropped_columns"; - CFMetaData cfm = CFMetaData.Builder.create(keyspace, table) - .addPartitionKey("pk1", IntegerType.instance) - .addClusteringColumn("ck1", IntegerType.instance) - .addRegularColumn("reg1", IntegerType.instance) - .addRegularColumn("reg2", IntegerType.instance) - .addRegularColumn("reg3", IntegerType.instance) - .build(); - + TableMetadata.Builder builder = + TableMetadata.builder(keyspace, table) + .addPartitionKeyColumn("pk1", IntegerType.instance) + .addClusteringColumn("ck1", IntegerType.instance) + .addRegularColumn("reg1", IntegerType.instance) + .addRegularColumn("reg2", IntegerType.instance) + .addRegularColumn("reg3", IntegerType.instance); - ColumnDefinition reg1 = cfm.getColumnDefinition(ByteBufferUtil.bytes("reg1")); - ColumnDefinition reg2 = cfm.getColumnDefinition(ByteBufferUtil.bytes("reg2")); - ColumnDefinition reg3 = cfm.getColumnDefinition(ByteBufferUtil.bytes("reg3")); + ColumnMetadata reg1 = builder.getColumn(ByteBufferUtil.bytes("reg1")); + ColumnMetadata reg2 = builder.getColumn(ByteBufferUtil.bytes("reg2")); + ColumnMetadata reg3 = builder.getColumn(ByteBufferUtil.bytes("reg3")); - cfm.removeColumnDefinition(reg1); - cfm.removeColumnDefinition(reg2); - cfm.removeColumnDefinition(reg3); + builder.removeRegularOrStaticColumn(reg1.name) + .removeRegularOrStaticColumn(reg2.name) + .removeRegularOrStaticColumn(reg3.name); - cfm.recordColumnDrop(reg1, 10000); - cfm.recordColumnDrop(reg2, 20000); - cfm.recordColumnDrop(reg3, 30000); + builder.recordColumnDrop(reg1, 10000) + .recordColumnDrop(reg2, 20000) + .recordColumnDrop(reg3, 30000); - SchemaLoader.createKeyspace(keyspace, - KeyspaceParams.simple(1), - cfm); + SchemaLoader.createKeyspace(keyspace, KeyspaceParams.simple(1), builder); ColumnFamilyStore cfs = Keyspace.open(keyspace).getColumnFamilyStore(table); assertEquals(ImmutableList.of("ALTER TABLE cql_test_keyspace_dropped_columns.test_table_dropped_columns DROP reg1 USING TIMESTAMP 10000;", "ALTER TABLE cql_test_keyspace_dropped_columns.test_table_dropped_columns DROP reg3 USING TIMESTAMP 30000;", "ALTER TABLE cql_test_keyspace_dropped_columns.test_table_dropped_columns DROP reg2 USING TIMESTAMP 20000;"), - ColumnFamilyStoreCQLHelper.getDroppedColumnsAsCQL(cfs.metadata)); + ColumnFamilyStoreCQLHelper.getDroppedColumnsAsCQL(cfs.metadata())); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS cql_test_keyspace_dropped_columns.test_table_dropped_columns (\n" + "\tpk1 varint,\n" + "\tck1 varint,\n" + @@ -162,34 +156,32 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester String keyspace = "cql_test_keyspace_readded_columns"; String table = "test_table_readded_columns"; - CFMetaData cfm = CFMetaData.Builder.create(keyspace, table) - .addPartitionKey("pk1", IntegerType.instance) - .addClusteringColumn("ck1", IntegerType.instance) - .addRegularColumn("reg1", IntegerType.instance) - .addStaticColumn("reg2", IntegerType.instance) - .addRegularColumn("reg3", IntegerType.instance) - .build(); + TableMetadata.Builder builder = + TableMetadata.builder(keyspace, table) + .addPartitionKeyColumn("pk1", IntegerType.instance) + .addClusteringColumn("ck1", IntegerType.instance) + .addRegularColumn("reg1", IntegerType.instance) + .addStaticColumn("reg2", IntegerType.instance) + .addRegularColumn("reg3", IntegerType.instance); - ColumnDefinition reg1 = cfm.getColumnDefinition(ByteBufferUtil.bytes("reg1")); - ColumnDefinition reg2 = cfm.getColumnDefinition(ByteBufferUtil.bytes("reg2")); + ColumnMetadata reg1 = builder.getColumn(ByteBufferUtil.bytes("reg1")); + ColumnMetadata reg2 = builder.getColumn(ByteBufferUtil.bytes("reg2")); - cfm.removeColumnDefinition(reg1); - cfm.removeColumnDefinition(reg2); + builder.removeRegularOrStaticColumn(reg1.name); + builder.removeRegularOrStaticColumn(reg2.name); - cfm.recordColumnDrop(reg1, 10000); - cfm.recordColumnDrop(reg2, 20000); + builder.recordColumnDrop(reg1, 10000); + builder.recordColumnDrop(reg2, 20000); - cfm.addColumnDefinition(reg1); - cfm.addColumnDefinition(reg2); + builder.addColumn(reg1); + builder.addColumn(reg2); - SchemaLoader.createKeyspace(keyspace, - KeyspaceParams.simple(1), - cfm); + SchemaLoader.createKeyspace(keyspace, KeyspaceParams.simple(1), builder); ColumnFamilyStore cfs = Keyspace.open(keyspace).getColumnFamilyStore(table); // when re-adding, column is present in CREATE, then in DROP and then in ADD again, to record DROP with a proper timestamp - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS cql_test_keyspace_readded_columns.test_table_readded_columns (\n" + "\tpk1 varint,\n" + "\tck1 varint,\n" + @@ -202,7 +194,7 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester "ALTER TABLE cql_test_keyspace_readded_columns.test_table_readded_columns ADD reg1 varint;", "ALTER TABLE cql_test_keyspace_readded_columns.test_table_readded_columns DROP reg2 USING TIMESTAMP 20000;", "ALTER TABLE cql_test_keyspace_readded_columns.test_table_readded_columns ADD reg2 varint static;"), - ColumnFamilyStoreCQLHelper.getDroppedColumnsAsCQL(cfs.metadata)); + ColumnFamilyStoreCQLHelper.getDroppedColumnsAsCQL(cfs.metadata())); } @Test @@ -211,24 +203,22 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester String keyspace = "cql_test_keyspace_create_table"; String table = "test_table_create_table"; - CFMetaData cfm = CFMetaData.Builder.create(keyspace, table) - .addPartitionKey("pk1", IntegerType.instance) - .addPartitionKey("pk2", AsciiType.instance) - .addClusteringColumn("ck1", ReversedType.getInstance(IntegerType.instance)) - .addClusteringColumn("ck2", IntegerType.instance) - .addStaticColumn("st1", AsciiType.instance) - .addRegularColumn("reg1", AsciiType.instance) - .addRegularColumn("reg2", ListType.getInstance(IntegerType.instance, false)) - .addRegularColumn("reg3", MapType.getInstance(AsciiType.instance, IntegerType.instance, true)) - .build(); - - SchemaLoader.createKeyspace(keyspace, - KeyspaceParams.simple(1), - cfm); + TableMetadata.Builder metadata = + TableMetadata.builder(keyspace, table) + .addPartitionKeyColumn("pk1", IntegerType.instance) + .addPartitionKeyColumn("pk2", AsciiType.instance) + .addClusteringColumn("ck1", ReversedType.getInstance(IntegerType.instance)) + .addClusteringColumn("ck2", IntegerType.instance) + .addStaticColumn("st1", AsciiType.instance) + .addRegularColumn("reg1", AsciiType.instance) + .addRegularColumn("reg2", ListType.getInstance(IntegerType.instance, false)) + .addRegularColumn("reg3", MapType.getInstance(AsciiType.instance, IntegerType.instance, true)); + + SchemaLoader.createKeyspace(keyspace, KeyspaceParams.simple(1), metadata); ColumnFamilyStore cfs = Keyspace.open(keyspace).getColumnFamilyStore(table); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS cql_test_keyspace_create_table.test_table_create_table (\n" + "\tpk1 varint,\n" + "\tpk2 ascii,\n" + @@ -239,7 +229,7 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester "\treg2 frozen<list<varint>>,\n" + "\treg3 map<ascii, varint>,\n" + "\tPRIMARY KEY ((pk1, pk2), ck1, ck2))\n" + - "\tWITH ID = " + cfs.metadata.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND CLUSTERING ORDER BY (ck1 DESC, ck2 ASC)")); } @@ -249,21 +239,20 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester String keyspace = "cql_test_keyspace_compact"; String table = "test_table_compact"; - CFMetaData cfm = CFMetaData.Builder.createDense(keyspace, table, true, false) - .addPartitionKey("pk1", IntegerType.instance) - .addPartitionKey("pk2", AsciiType.instance) - .addClusteringColumn("ck1", ReversedType.getInstance(IntegerType.instance)) - .addClusteringColumn("ck2", IntegerType.instance) - .addRegularColumn("reg", IntegerType.instance) - .build(); + TableMetadata.Builder metadata = + TableMetadata.builder(keyspace, table) + .isDense(true) + .addPartitionKeyColumn("pk1", IntegerType.instance) + .addPartitionKeyColumn("pk2", AsciiType.instance) + .addClusteringColumn("ck1", ReversedType.getInstance(IntegerType.instance)) + .addClusteringColumn("ck2", IntegerType.instance) + .addRegularColumn("reg", IntegerType.instance); - SchemaLoader.createKeyspace(keyspace, - KeyspaceParams.simple(1), - cfm); + SchemaLoader.createKeyspace(keyspace, KeyspaceParams.simple(1), metadata); ColumnFamilyStore cfs = Keyspace.open(keyspace).getColumnFamilyStore(table); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS cql_test_keyspace_compact.test_table_compact (\n" + "\tpk1 varint,\n" + "\tpk2 ascii,\n" + @@ -271,7 +260,7 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester "\tck2 varint,\n" + "\treg varint,\n" + "\tPRIMARY KEY ((pk1, pk2), ck1, ck2))\n" + - "\tWITH ID = " + cfm.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND COMPACT STORAGE\n" + "\tAND CLUSTERING ORDER BY (ck1 DESC, ck2 ASC)")); } @@ -282,21 +271,21 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester String keyspace = "cql_test_keyspace_counter"; String table = "test_table_counter"; - CFMetaData cfm = CFMetaData.Builder.createDense(keyspace, table, true, true) - .addPartitionKey("pk1", IntegerType.instance) - .addPartitionKey("pk2", AsciiType.instance) - .addClusteringColumn("ck1", ReversedType.getInstance(IntegerType.instance)) - .addClusteringColumn("ck2", IntegerType.instance) - .addRegularColumn("cnt", CounterColumnType.instance) - .build(); + TableMetadata.Builder metadata = + TableMetadata.builder(keyspace, table) + .isDense(true) + .isCounter(true) + .addPartitionKeyColumn("pk1", IntegerType.instance) + .addPartitionKeyColumn("pk2", AsciiType.instance) + .addClusteringColumn("ck1", ReversedType.getInstance(IntegerType.instance)) + .addClusteringColumn("ck2", IntegerType.instance) + .addRegularColumn("cnt", CounterColumnType.instance); - SchemaLoader.createKeyspace(keyspace, - KeyspaceParams.simple(1), - cfm); + SchemaLoader.createKeyspace(keyspace, KeyspaceParams.simple(1), metadata); ColumnFamilyStore cfs = Keyspace.open(keyspace).getColumnFamilyStore(table); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS cql_test_keyspace_counter.test_table_counter (\n" + "\tpk1 varint,\n" + "\tpk2 ascii,\n" + @@ -304,7 +293,7 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester "\tck2 varint,\n" + "\tcnt counter,\n" + "\tPRIMARY KEY ((pk1, pk2), ck1, ck2))\n" + - "\tWITH ID = " + cfm.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND COMPACT STORAGE\n" + "\tAND CLUSTERING ORDER BY (ck1 DESC, ck2 ASC)")); } @@ -315,35 +304,32 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester String keyspace = "cql_test_keyspace_options"; String table = "test_table_options"; - CFMetaData cfm = CFMetaData.Builder.create(keyspace, table) - .addPartitionKey("pk1", IntegerType.instance) - .addClusteringColumn("cl1", IntegerType.instance) - .addRegularColumn("reg1", AsciiType.instance) - .build(); - - cfm.recordColumnDrop(cfm.getColumnDefinition(ByteBuffer.wrap("reg1".getBytes())), FBUtilities.timestampMicros()); - cfm.bloomFilterFpChance(1.0); - cfm.comment("comment"); - cfm.compaction(CompactionParams.lcs(Collections.singletonMap("sstable_size_in_mb", "1"))); - cfm.compression(CompressionParams.lz4(1 << 16)); - cfm.dcLocalReadRepairChance(0.2); - cfm.crcCheckChance(0.3); - cfm.defaultTimeToLive(4); - cfm.gcGraceSeconds(5); - cfm.minIndexInterval(6); - cfm.maxIndexInterval(7); - cfm.memtableFlushPeriod(8); - cfm.readRepairChance(0.9); - cfm.speculativeRetry(SpeculativeRetryParam.always()); - cfm.extensions(ImmutableMap.of("ext1", - ByteBuffer.wrap("val1".getBytes()))); - - SchemaLoader.createKeyspace(keyspace, - KeyspaceParams.simple(1), - cfm); + TableMetadata.Builder builder = TableMetadata.builder(keyspace, table); + builder.addPartitionKeyColumn("pk1", IntegerType.instance) + .addClusteringColumn("cl1", IntegerType.instance) + .addRegularColumn("reg1", AsciiType.instance) + .bloomFilterFpChance(1.0) + .comment("comment") + .compaction(CompactionParams.lcs(Collections.singletonMap("sstable_size_in_mb", "1"))) + .compression(CompressionParams.lz4(1 << 16)) + .dcLocalReadRepairChance(0.2) + .crcCheckChance(0.3) + .defaultTimeToLive(4) + .gcGraceSeconds(5) + .minIndexInterval(6) + .maxIndexInterval(7) + .memtableFlushPeriod(8) + .readRepairChance(0.9) + .speculativeRetry(SpeculativeRetryParam.always()) + .extensions(ImmutableMap.of("ext1", ByteBuffer.wrap("val1".getBytes()))) + .recordColumnDrop(ColumnMetadata.regularColumn(keyspace, table, "reg1", AsciiType.instance), + FBUtilities.timestampMicros()); + + SchemaLoader.createKeyspace(keyspace, KeyspaceParams.simple(1), builder); + ColumnFamilyStore cfs = Keyspace.open(keyspace).getColumnFamilyStore(table); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).endsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).endsWith( "AND bloom_filter_fp_chance = 1.0\n" + "\tAND dclocal_read_repair_chance = 0.2\n" + "\tAND crc_check_chance = 0.3\n" + @@ -369,52 +355,46 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester String keyspace = "cql_test_keyspace_3"; String table = "test_table_3"; - CFMetaData cfm = CFMetaData.Builder.create(keyspace, table) - .addPartitionKey("pk1", IntegerType.instance) - .addClusteringColumn("cl1", IntegerType.instance) - .addRegularColumn("reg1", AsciiType.instance) - .build(); - - cfm.indexes(cfm.getIndexes() - .with(IndexMetadata.fromIndexTargets(cfm, - Collections.singletonList(new IndexTarget(cfm.getColumnDefinition(ByteBufferUtil.bytes("reg1")).name, - IndexTarget.Type.VALUES)), - "indexName", - IndexMetadata.Kind.COMPOSITES, - Collections.emptyMap())) - .with(IndexMetadata.fromIndexTargets(cfm, - Collections.singletonList(new IndexTarget(cfm.getColumnDefinition(ByteBufferUtil.bytes("reg1")).name, - IndexTarget.Type.KEYS)), - "indexName2", - IndexMetadata.Kind.COMPOSITES, - Collections.emptyMap())) - .with(IndexMetadata.fromIndexTargets(cfm, - Collections.singletonList(new IndexTarget(cfm.getColumnDefinition(ByteBufferUtil.bytes("reg1")).name, - IndexTarget.Type.KEYS_AND_VALUES)), - "indexName3", - IndexMetadata.Kind.COMPOSITES, - Collections.emptyMap())) - .with(IndexMetadata.fromIndexTargets(cfm, - Collections.singletonList(new IndexTarget(cfm.getColumnDefinition(ByteBufferUtil.bytes("reg1")).name, - IndexTarget.Type.KEYS_AND_VALUES)), - "indexName4", - IndexMetadata.Kind.CUSTOM, - Collections.singletonMap(IndexTarget.CUSTOM_INDEX_OPTION_NAME, - SASIIndex.class.getName())) - )); - - - SchemaLoader.createKeyspace(keyspace, - KeyspaceParams.simple(1), - cfm); + TableMetadata.Builder builder = + TableMetadata.builder(keyspace, table) + .addPartitionKeyColumn("pk1", IntegerType.instance) + .addClusteringColumn("cl1", IntegerType.instance) + .addRegularColumn("reg1", AsciiType.instance); + + ColumnIdentifier reg1 = ColumnIdentifier.getInterned("reg1", true); + + builder.indexes( + Indexes.of(IndexMetadata.fromIndexTargets( + Collections.singletonList(new IndexTarget(reg1, IndexTarget.Type.VALUES)), + "indexName", + IndexMetadata.Kind.COMPOSITES, + Collections.emptyMap()), + IndexMetadata.fromIndexTargets( + Collections.singletonList(new IndexTarget(reg1, IndexTarget.Type.KEYS)), + "indexName2", + IndexMetadata.Kind.COMPOSITES, + Collections.emptyMap()), + IndexMetadata.fromIndexTargets( + Collections.singletonList(new IndexTarget(reg1, IndexTarget.Type.KEYS_AND_VALUES)), + "indexName3", + IndexMetadata.Kind.COMPOSITES, + Collections.emptyMap()), + IndexMetadata.fromIndexTargets( + Collections.singletonList(new IndexTarget(reg1, IndexTarget.Type.KEYS_AND_VALUES)), + "indexName4", + IndexMetadata.Kind.CUSTOM, + Collections.singletonMap(IndexTarget.CUSTOM_INDEX_OPTION_NAME, SASIIndex.class.getName())))); + + + SchemaLoader.createKeyspace(keyspace, KeyspaceParams.simple(1), builder); ColumnFamilyStore cfs = Keyspace.open(keyspace).getColumnFamilyStore(table); - assertEquals(ImmutableList.of("CREATE INDEX \"indexName\" ON cql_test_keyspace_3.test_table_3 (reg1);", - "CREATE INDEX \"indexName2\" ON cql_test_keyspace_3.test_table_3 (reg1);", - "CREATE INDEX \"indexName3\" ON cql_test_keyspace_3.test_table_3 (reg1);", - "CREATE CUSTOM INDEX \"indexName4\" ON cql_test_keyspace_3.test_table_3 (reg1) USING 'org.apache.cassandra.index.sasi.SASIIndex';"), - ColumnFamilyStoreCQLHelper.getIndexesAsCQL(cfs.metadata)); + assertEquals(ImmutableList.of("CREATE INDEX \"indexName\" ON cql_test_keyspace_3.test_table_3 (values(reg1));", + "CREATE INDEX \"indexName2\" ON cql_test_keyspace_3.test_table_3 (keys(reg1));", + "CREATE INDEX \"indexName3\" ON cql_test_keyspace_3.test_table_3 (entries(reg1));", + "CREATE CUSTOM INDEX \"indexName4\" ON cql_test_keyspace_3.test_table_3 (entries(reg1)) USING 'org.apache.cassandra.index.sasi.SASIIndex';"), + ColumnFamilyStoreCQLHelper.getIndexesAsCQL(cfs.metadata())); } private final static String SNAPSHOT = "testsnapshot"; @@ -447,10 +427,10 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester cfs.snapshot(SNAPSHOT); String schema = Files.toString(cfs.getDirectories().getSnapshotSchemaFile(SNAPSHOT), Charset.defaultCharset()); - assertTrue(schema.contains(String.format("CREATE TYPE %s.%s(a1 varint, a2 varint, a3 varint);", keyspace(), typeA))); - assertTrue(schema.contains(String.format("CREATE TYPE %s.%s(a1 varint, a2 varint, a3 varint);", keyspace(), typeA))); - assertTrue(schema.contains(String.format("CREATE TYPE %s.%s(b1 frozen<%s>, b2 frozen<%s>, b3 frozen<%s>);", keyspace(), typeB, typeA, typeA, typeA))); - assertTrue(schema.contains(String.format("CREATE TYPE %s.%s(c1 frozen<%s>, c2 frozen<%s>, c3 frozen<%s>);", keyspace(), typeC, typeB, typeB, typeB))); + assertTrue(schema.contains(String.format("CREATE TYPE %s.%s (a1 varint, a2 varint, a3 varint);", keyspace(), typeA))); + assertTrue(schema.contains(String.format("CREATE TYPE %s.%s (a1 varint, a2 varint, a3 varint);", keyspace(), typeA))); + assertTrue(schema.contains(String.format("CREATE TYPE %s.%s (b1 frozen<%s>, b2 frozen<%s>, b3 frozen<%s>);", keyspace(), typeB, typeA, typeA, typeA))); + assertTrue(schema.contains(String.format("CREATE TYPE %s.%s (c1 frozen<%s>, c2 frozen<%s>, c3 frozen<%s>);", keyspace(), typeC, typeB, typeB, typeB))); schema = schema.substring(schema.indexOf("CREATE TABLE")); // trim to ensure order @@ -463,7 +443,7 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester "\treg3 int,\n" + "\treg1 " + typeC + ",\n" + "\tPRIMARY KEY ((pk1, pk2), ck1, ck2))\n" + - "\tWITH ID = " + cfs.metadata.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND CLUSTERING ORDER BY (ck1 ASC, ck2 DESC)")); schema = schema.substring(schema.indexOf("ALTER")); @@ -539,11 +519,11 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(keyspace()).getColumnFamilyStore(tableName); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS " + keyspace() + "." + tableName + " (\n" + "\tpk1 varint PRIMARY KEY,\n" + "\treg1 int)\n" + - "\tWITH ID = " + cfs.metadata.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND COMPACT STORAGE")); } @@ -558,12 +538,12 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(keyspace()).getColumnFamilyStore(tableName); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS " + keyspace() + "." + tableName + " (\n" + "\tpk1 varint PRIMARY KEY,\n" + "\treg1 int,\n" + "\treg2 int)\n" + - "\tWITH ID = " + cfs.metadata.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND COMPACT STORAGE")); } @@ -579,12 +559,12 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(keyspace()).getColumnFamilyStore(tableName); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS " + keyspace() + "." + tableName + " (\n" + "\tpk1 varint PRIMARY KEY,\n" + "\treg1 counter,\n" + "\treg2 counter)\n" + - "\tWITH ID = " + cfs.metadata.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND COMPACT STORAGE")); } @@ -599,12 +579,12 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(keyspace()).getColumnFamilyStore(tableName); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS " + keyspace() + "." + tableName + " (\n" + "\tpk1 varint,\n" + "\tck1 int,\n" + "\tPRIMARY KEY (pk1, ck1))\n" + - "\tWITH ID = " + cfs.metadata.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND COMPACT STORAGE")); } @@ -620,13 +600,13 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(keyspace()).getColumnFamilyStore(tableName); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS " + keyspace() + "." + tableName + " (\n" + "\tpk1 varint,\n" + "\tck1 int,\n" + "\treg int,\n" + "\tPRIMARY KEY (pk1, ck1))\n" + - "\tWITH ID = " + cfs.metadata.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND COMPACT STORAGE")); } @@ -647,13 +627,13 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester ColumnFamilyStore cfs = Keyspace.open(DYNAMIC_COMPOSITE).getColumnFamilyStore(DYNAMIC_COMPOSITE); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "CREATE TABLE IF NOT EXISTS " + DYNAMIC_COMPOSITE + "." + DYNAMIC_COMPOSITE + " (\n" + "\tkey ascii,\n" + "\tcols 'org.apache.cassandra.db.marshal.DynamicCompositeType(a=>org.apache.cassandra.db.marshal.BytesType,b=>org.apache.cassandra.db.marshal.BytesType,c=>org.apache.cassandra.db.marshal.BytesType)',\n" + "\tval ascii,\n" + "\tPRIMARY KEY (key, cols))\n" + - "\tWITH ID = " + cfs.metadata.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND COMPACT STORAGE")); } @@ -663,20 +643,19 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester final String KEYSPACE = "thrift_compact_table_with_supercolumns_test"; final String TABLE = "test_table_1"; - CFMetaData cfm = CFMetaData.Builder.createSuper(KEYSPACE, TABLE, false) - .addPartitionKey("pk", BytesType.instance) - .addClusteringColumn("c1", AsciiType.instance) - .addClusteringColumn("c2", AsciiType.instance) - .addRegularColumn("", MapType.getInstance(Int32Type.instance, AsciiType.instance, true)) - .build(); + TableMetadata.Builder table = + TableMetadata.builder(KEYSPACE, TABLE) + .isSuper(true) + .addPartitionKeyColumn("pk", BytesType.instance) + .addClusteringColumn("c1", AsciiType.instance) + .addClusteringColumn("c2", AsciiType.instance) + .addRegularColumn("", MapType.getInstance(Int32Type.instance, AsciiType.instance, true)); - SchemaLoader.createKeyspace(KEYSPACE, - KeyspaceParams.simple(1), - cfm); + SchemaLoader.createKeyspace(KEYSPACE, KeyspaceParams.simple(1), table); ColumnFamilyStore cfs = Keyspace.open(KEYSPACE).getColumnFamilyStore(TABLE); - assertTrue(ColumnFamilyStoreCQLHelper.getCFMetadataAsCQL(cfs.metadata, true).startsWith( + assertTrue(ColumnFamilyStoreCQLHelper.getTableMetadataAsCQL(cfs.metadata(), true).startsWith( "/*\n" + "Warning: Table " + KEYSPACE + "." + TABLE + " omitted because it has constructs not compatible with CQL (was created via legacy API).\n\n" + "Approximate structure, for reference:\n" + @@ -687,7 +666,7 @@ public class ColumnFamilyStoreCQLHelperTest extends CQLTester "\tc2 ascii,\n" + "\t\"\" map<int, ascii>,\n" + "\tPRIMARY KEY (pk, c1, c2))\n" + - "\tWITH ID = " + cfs.metadata.cfId + "\n" + + "\tWITH ID = " + cfs.metadata.id + "\n" + "\tAND COMPACT STORAGE")); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/af3fe39d/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java index a2003d8..e5c5727 100644 --- a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java +++ b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java @@ -34,7 +34,6 @@ import static org.junit.Assert.assertTrue; import com.google.common.collect.Iterators; import org.apache.cassandra.*; -import org.apache.cassandra.config.*; import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.db.lifecycle.SSTableSet; import org.apache.cassandra.db.rows.*; @@ -46,6 +45,7 @@ import org.apache.cassandra.io.sstable.Descriptor; import org.apache.cassandra.io.sstable.format.SSTableFormat; import org.apache.cassandra.io.sstable.format.SSTableReader; import org.apache.cassandra.metrics.ClearableHistogram; +import org.apache.cassandra.schema.ColumnMetadata; import org.apache.cassandra.schema.KeyspaceParams; import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.FBUtilities; @@ -97,14 +97,14 @@ public class ColumnFamilyStoreTest Keyspace keyspace = Keyspace.open(KEYSPACE1); ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CF_STANDARD1); - new RowUpdateBuilder(cfs.metadata, 0, "key1") + new RowUpdateBuilder(cfs.metadata(), 0, "key1") .clustering("Column1") .add("val", "asdf") .build() .applyUnsafe(); cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, 1, "key1") + new RowUpdateBuilder(cfs.metadata(), 1, "key1") .clustering("Column1") .add("val", "asdf") .build() @@ -123,7 +123,7 @@ public class ColumnFamilyStoreTest ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CF_STANDARD1); List<Mutation> rms = new LinkedList<>(); - rms.add(new RowUpdateBuilder(cfs.metadata, 0, "key1") + rms.add(new RowUpdateBuilder(cfs.metadata(), 0, "key1") .clustering("Column1") .add("val", "asdf") .build()); @@ -142,7 +142,7 @@ public class ColumnFamilyStoreTest Keyspace keyspace = Keyspace.open(KEYSPACE1); final ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CF_STANDARD2); - RowUpdateBuilder.deleteRow(cfs.metadata, FBUtilities.timestampMicros(), "key1", "Column1").applyUnsafe(); + RowUpdateBuilder.deleteRow(cfs.metadata(), FBUtilities.timestampMicros(), "key1", "Column1").applyUnsafe(); Runnable r = new WrappedRunnable() { @@ -170,22 +170,22 @@ public class ColumnFamilyStoreTest ByteBuffer val = ByteBufferUtil.bytes("val1"); // insert - ColumnDefinition newCol = ColumnDefinition.regularDef(cfs.metadata, ByteBufferUtil.bytes("val2"), AsciiType.instance); - new RowUpdateBuilder(cfs.metadata, 0, "key1").clustering("Column1").add("val", "val1").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, 0, "key2").clustering("Column1").add("val", "val1").build().applyUnsafe(); + ColumnMetadata newCol = ColumnMetadata.regularColumn(cfs.metadata(), ByteBufferUtil.bytes("val2"), AsciiType.instance); + new RowUpdateBuilder(cfs.metadata(), 0, "key1").clustering("Column1").add("val", "val1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 0, "key2").clustering("Column1").add("val", "val1").build().applyUnsafe(); assertRangeCount(cfs, col, val, 2); // flush. cfs.forceBlockingFlush(); // insert, don't flush - new RowUpdateBuilder(cfs.metadata, 1, "key3").clustering("Column1").add("val", "val1").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, 1, "key4").clustering("Column1").add("val", "val1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 1, "key3").clustering("Column1").add("val", "val1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 1, "key4").clustering("Column1").add("val", "val1").build().applyUnsafe(); assertRangeCount(cfs, col, val, 4); // delete (from sstable and memtable) - RowUpdateBuilder.deleteRow(cfs.metadata, 5, "key1", "Column1").applyUnsafe(); - RowUpdateBuilder.deleteRow(cfs.metadata, 5, "key3", "Column1").applyUnsafe(); + RowUpdateBuilder.deleteRow(cfs.metadata(), 5, "key1", "Column1").applyUnsafe(); + RowUpdateBuilder.deleteRow(cfs.metadata(), 5, "key3", "Column1").applyUnsafe(); // verify delete assertRangeCount(cfs, col, val, 2); @@ -197,15 +197,15 @@ public class ColumnFamilyStoreTest assertRangeCount(cfs, col, val, 2); // simulate a 'late' insertion that gets put in after the deletion. should get inserted, but fail on read. - new RowUpdateBuilder(cfs.metadata, 2, "key1").clustering("Column1").add("val", "val1").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, 2, "key3").clustering("Column1").add("val", "val1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 2, "key1").clustering("Column1").add("val", "val1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 2, "key3").clustering("Column1").add("val", "val1").build().applyUnsafe(); // should still be nothing there because we deleted this row. 2nd breakage, but was undetected because of 1837. assertRangeCount(cfs, col, val, 2); // make sure that new writes are recognized. - new RowUpdateBuilder(cfs.metadata, 10, "key5").clustering("Column1").add("val", "val1").build().applyUnsafe(); - new RowUpdateBuilder(cfs.metadata, 10, "key6").clustering("Column1").add("val", "val1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 10, "key5").clustering("Column1").add("val", "val1").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 10, "key6").clustering("Column1").add("val", "val1").build().applyUnsafe(); assertRangeCount(cfs, col, val, 4); // and it remains so after flush. (this wasn't failing before, but it's good to check.) @@ -257,9 +257,9 @@ public class ColumnFamilyStoreTest public void testBackupAfterFlush() throws Throwable { ColumnFamilyStore cfs = Keyspace.open(KEYSPACE2).getColumnFamilyStore(CF_STANDARD1); - new RowUpdateBuilder(cfs.metadata, 0, ByteBufferUtil.bytes("key1")).clustering("Column1").add("val", "asdf").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 0, ByteBufferUtil.bytes("key1")).clustering("Column1").add("val", "asdf").build().applyUnsafe(); cfs.forceBlockingFlush(); - new RowUpdateBuilder(cfs.metadata, 0, ByteBufferUtil.bytes("key2")).clustering("Column1").add("val", "asdf").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 0, ByteBufferUtil.bytes("key2")).clustering("Column1").add("val", "asdf").build().applyUnsafe(); cfs.forceBlockingFlush(); for (int version = 1; version <= 2; ++version) @@ -319,7 +319,7 @@ public class ColumnFamilyStoreTest // ColumnFamilyStore cfs = Keyspace.open(ks).getColumnFamilyStore(cf); // SSTableDeletingTask.waitForDeletions(); // -// final CFMetaData cfmeta = Schema.instance.getCFMetaData(ks, cf); +// final CFMetaData cfmeta = Schema.instance.getTableMetadataRef(ks, cf); // Directories dir = new Directories(cfs.metadata); // // // clear old SSTables (probably left by CFS.clearUnsafe() calls in other tests) @@ -405,10 +405,10 @@ public class ColumnFamilyStoreTest private void assertRangeCount(ColumnFamilyStore cfs, ByteBuffer col, ByteBuffer val, int count) { - assertRangeCount(cfs, cfs.metadata.getColumnDefinition(col), val, count); + assertRangeCount(cfs, cfs.metadata().getColumn(col), val, count); } - private void assertRangeCount(ColumnFamilyStore cfs, ColumnDefinition col, ByteBuffer val, int count) + private void assertRangeCount(ColumnFamilyStore cfs, ColumnMetadata col, ByteBuffer val, int count) { int found = 0; @@ -431,9 +431,9 @@ public class ColumnFamilyStoreTest { ColumnFamilyStore cfs = Keyspace.open(KEYSPACE1).getColumnFamilyStore(CF_STANDARD1); - ColumnFamilyStore.scrubDataDirectories(cfs.metadata); + ColumnFamilyStore.scrubDataDirectories(cfs.metadata()); - new RowUpdateBuilder(cfs.metadata, 2, "key").clustering("name").add("val", "2").build().applyUnsafe(); + new RowUpdateBuilder(cfs.metadata(), 2, "key").clustering("name").add("val", "2").build().applyUnsafe(); cfs.forceBlockingFlush(); // Nuke the metadata and reload that sstable @@ -447,9 +447,9 @@ public class ColumnFamilyStoreTest ssTable.selfRef().release(); - ColumnFamilyStore.scrubDataDirectories(cfs.metadata); + ColumnFamilyStore.scrubDataDirectories(cfs.metadata()); - List<File> ssTableFiles = new Directories(cfs.metadata).sstableLister(Directories.OnTxnErr.THROW).listFiles(); + List<File> ssTableFiles = new Directories(cfs.metadata()).sstableLister(Directories.OnTxnErr.THROW).listFiles(); assertNotNull(ssTableFiles); assertEquals(0, ssTableFiles.size()); }