Repository: cassandra Updated Branches: refs/heads/trunk d3a994b10 -> 207c80c1f
http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/index/CustomIndexTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/index/CustomIndexTest.java b/test/unit/org/apache/cassandra/index/CustomIndexTest.java index 3036b1a..2bad5f3 100644 --- a/test/unit/org/apache/cassandra/index/CustomIndexTest.java +++ b/test/unit/org/apache/cassandra/index/CustomIndexTest.java @@ -37,7 +37,7 @@ import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.cql3.ColumnIdentifier; import org.apache.cassandra.cql3.restrictions.IndexRestrictions; import org.apache.cassandra.cql3.restrictions.StatementRestrictions; -import org.apache.cassandra.cql3.statements.IndexTarget; +import org.apache.cassandra.cql3.statements.schema.IndexTarget; import org.apache.cassandra.cql3.statements.ModificationStatement; import org.apache.cassandra.db.*; import org.apache.cassandra.db.marshal.AbstractType; @@ -54,7 +54,7 @@ import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.FBUtilities; import org.apache.cassandra.utils.concurrent.OpOrder; -import static org.apache.cassandra.cql3.statements.IndexTarget.CUSTOM_INDEX_OPTION_NAME; +import static org.apache.cassandra.cql3.statements.schema.IndexTarget.CUSTOM_INDEX_OPTION_NAME; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -163,11 +163,11 @@ public class CustomIndexTest extends CQLTester { createTable("CREATE TABLE %s(k int, c int, v1 int, v2 int, PRIMARY KEY (k,c))"); - assertInvalidMessage("Duplicate column v1 in index target list", + assertInvalidMessage("Duplicate column 'v1' in index target list", String.format("CREATE CUSTOM INDEX ON %%s(v1, v1) USING '%s'", StubIndex.class.getName())); - assertInvalidMessage("Duplicate column v1 in index target list", + assertInvalidMessage("Duplicate column 'v1' in index target list", String.format("CREATE CUSTOM INDEX ON %%s(v1, v1, c, c) USING '%s'", StubIndex.class.getName())); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java index 24480f5..65c2417 100644 --- a/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java +++ b/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java @@ -510,10 +510,10 @@ public class CassandraIndexTest extends CQLTester // this is slightly annoying, but we cannot read rows from the methods in Util as - // ReadCommand#executeInternal uses metadata retrieved via the tableId, which the index + // ReadCommand#executeLocally uses metadata retrieved via the tableId, which the index // CFS inherits from the base CFS. This has the 'wrong' partitioner (the index table // uses LocalPartition, the base table a real one, so we cannot read from the index - // table with executeInternal + // table with executeLocally private void assertIndexRowTtl(ColumnFamilyStore indexCfs, int indexedValue, int ttl) throws Throwable { DecoratedKey indexKey = indexCfs.decorateKey(ByteBufferUtil.bytes(indexedValue)); http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/index/internal/CustomCassandraIndex.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/index/internal/CustomCassandraIndex.java b/test/unit/org/apache/cassandra/index/internal/CustomCassandraIndex.java index f007c09..9a806c2 100644 --- a/test/unit/org/apache/cassandra/index/internal/CustomCassandraIndex.java +++ b/test/unit/org/apache/cassandra/index/internal/CustomCassandraIndex.java @@ -36,7 +36,7 @@ import org.apache.cassandra.schema.ColumnMetadata; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.schema.TableMetadataRef; import org.apache.cassandra.cql3.Operator; -import org.apache.cassandra.cql3.statements.IndexTarget; +import org.apache.cassandra.cql3.statements.schema.IndexTarget; import org.apache.cassandra.db.*; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.db.filter.RowFilter; http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java b/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java index c617764..90a59dd 100644 --- a/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java +++ b/test/unit/org/apache/cassandra/index/sasi/SASIIndexTest.java @@ -44,7 +44,7 @@ import org.apache.cassandra.schema.Schema; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.cql3.Term; -import org.apache.cassandra.cql3.statements.IndexTarget; +import org.apache.cassandra.cql3.statements.schema.IndexTarget; import org.apache.cassandra.db.*; import org.apache.cassandra.db.filter.ColumnFilter; import org.apache.cassandra.db.filter.DataLimits; http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/repair/StreamingRepairTaskTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/repair/StreamingRepairTaskTest.java b/test/unit/org/apache/cassandra/repair/StreamingRepairTaskTest.java index b845e93..ea5ebbf 100644 --- a/test/unit/org/apache/cassandra/repair/StreamingRepairTaskTest.java +++ b/test/unit/org/apache/cassandra/repair/StreamingRepairTaskTest.java @@ -26,7 +26,7 @@ import org.junit.BeforeClass; import org.junit.Test; import org.apache.cassandra.SchemaLoader; -import org.apache.cassandra.cql3.statements.CreateTableStatement; +import org.apache.cassandra.cql3.statements.schema.CreateTableStatement; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.repair.messages.SyncRequest; import org.apache.cassandra.schema.KeyspaceParams; http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/repair/consistent/CoordinatorSessionsTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/repair/consistent/CoordinatorSessionsTest.java b/test/unit/org/apache/cassandra/repair/consistent/CoordinatorSessionsTest.java index bc90e9b..b9b1fbf 100644 --- a/test/unit/org/apache/cassandra/repair/consistent/CoordinatorSessionsTest.java +++ b/test/unit/org/apache/cassandra/repair/consistent/CoordinatorSessionsTest.java @@ -27,12 +27,12 @@ import org.junit.BeforeClass; import org.junit.Test; import org.apache.cassandra.SchemaLoader; -import org.apache.cassandra.cql3.statements.CreateTableStatement; -import org.apache.cassandra.locator.InetAddressAndPort; +import org.apache.cassandra.cql3.statements.schema.CreateTableStatement; import org.apache.cassandra.repair.AbstractRepairTest; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.db.ColumnFamilyStore; +import org.apache.cassandra.locator.InetAddressAndPort; import org.apache.cassandra.repair.messages.FailSession; import org.apache.cassandra.repair.messages.FinalizePromise; import org.apache.cassandra.repair.messages.PrepareConsistentResponse; http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java b/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java index df51444..d368510 100644 --- a/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java +++ b/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java @@ -40,16 +40,16 @@ import org.junit.BeforeClass; import org.junit.Test; import org.apache.cassandra.SchemaLoader; -import org.apache.cassandra.cql3.statements.CreateTableStatement; import org.apache.cassandra.dht.Range; import org.apache.cassandra.dht.Token; +import org.apache.cassandra.cql3.QueryProcessor; +import org.apache.cassandra.cql3.statements.schema.CreateTableStatement; import org.apache.cassandra.repair.AbstractRepairTest; import org.apache.cassandra.locator.InetAddressAndPort; import org.apache.cassandra.repair.KeyspaceRepairManager; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.schema.SchemaConstants; -import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Keyspace; import org.apache.cassandra.db.SystemKeyspace; http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/schema/IndexMetadataTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/schema/IndexMetadataTest.java b/test/unit/org/apache/cassandra/schema/IndexMetadataTest.java index 785ed73..c9e0d52 100644 --- a/test/unit/org/apache/cassandra/schema/IndexMetadataTest.java +++ b/test/unit/org/apache/cassandra/schema/IndexMetadataTest.java @@ -23,6 +23,8 @@ package org.apache.cassandra.schema; import org.junit.Assert; import org.junit.Test; +import org.apache.cassandra.cql3.ColumnIdentifier; + import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -49,8 +51,7 @@ public class IndexMetadataTest { @Test public void testGetDefaultIndexName() { - Assert.assertEquals("aB4__idx", IndexMetadata.getDefaultIndexName("a B-4@!_+", null)); - Assert.assertEquals("34_Ddd_F6_idx", IndexMetadata.getDefaultIndexName("34_()Ddd", "#F%6*")); - + Assert.assertEquals("aB4__idx", IndexMetadata.generateDefaultIndexName("a B-4@!_+")); + Assert.assertEquals("34_Ddd_F6_idx", IndexMetadata.generateDefaultIndexName("34_()Ddd", new ColumnIdentifier("#F%6*", true))); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/schema/MigrationManagerTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/schema/MigrationManagerTest.java b/test/unit/org/apache/cassandra/schema/MigrationManagerTest.java index 3fbc3d7..5c70903 100644 --- a/test/unit/org/apache/cassandra/schema/MigrationManagerTest.java +++ b/test/unit/org/apache/cassandra/schema/MigrationManagerTest.java @@ -205,7 +205,7 @@ public class MigrationManagerTest store.forceBlockingFlush(); assertTrue(store.getDirectories().sstableLister(Directories.OnTxnErr.THROW).list().size() > 0); - MigrationManager.announceTableDrop(ks.name, cfm.name); + MigrationManager.announceTableDrop(ks.name, cfm.name, false); assertFalse(Schema.instance.getKeyspaceMetadata(ks.name).tables.get(cfm.name).isPresent()); http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java b/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java index b3a7047..501c429 100644 --- a/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java +++ b/test/unit/org/apache/cassandra/schema/SchemaKeyspaceTest.java @@ -32,7 +32,7 @@ import org.junit.Test; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.cql3.UntypedResultSet; -import org.apache.cassandra.cql3.statements.CreateTableStatement; +import org.apache.cassandra.cql3.statements.schema.CreateTableStatement; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Keyspace; import org.apache.cassandra.db.Mutation; http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/service/QueryPagerTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/service/QueryPagerTest.java b/test/unit/org/apache/cassandra/service/QueryPagerTest.java index 56bf59c..407efc6 100644 --- a/test/unit/org/apache/cassandra/service/QueryPagerTest.java +++ b/test/unit/org/apache/cassandra/service/QueryPagerTest.java @@ -27,7 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.apache.cassandra.*; -import org.apache.cassandra.cql3.statements.CreateTableStatement; +import org.apache.cassandra.cql3.statements.schema.CreateTableStatement; import org.apache.cassandra.schema.ColumnMetadata; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.cql3.ColumnIdentifier; http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/transport/MessagePayloadTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/transport/MessagePayloadTest.java b/test/unit/org/apache/cassandra/transport/MessagePayloadTest.java index 5b8067e..0c15bca 100644 --- a/test/unit/org/apache/cassandra/transport/MessagePayloadTest.java +++ b/test/unit/org/apache/cassandra/transport/MessagePayloadTest.java @@ -36,7 +36,6 @@ import org.apache.cassandra.cql3.QueryHandler; import org.apache.cassandra.cql3.QueryOptions; import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.cql3.statements.BatchStatement; -import org.apache.cassandra.cql3.statements.ParsedStatement; import org.apache.cassandra.cql3.CQLTester; import org.apache.cassandra.exceptions.RequestExecutionException; import org.apache.cassandra.exceptions.RequestValidationException; @@ -368,7 +367,7 @@ public class MessagePayloadTest extends CQLTester public static class TestQueryHandler implements QueryHandler { - public ParsedStatement.Prepared getPrepared(MD5Digest id) + public QueryProcessor.Prepared getPrepared(MD5Digest id) { return QueryProcessor.instance.getPrepared(id); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java b/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java index 88f74a2..31111bd 100644 --- a/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java +++ b/test/unit/org/apache/cassandra/triggers/TriggersSchemaTest.java @@ -21,7 +21,7 @@ import org.junit.BeforeClass; import org.junit.Test; import org.apache.cassandra.SchemaLoader; -import org.apache.cassandra.cql3.statements.CreateTableStatement; +import org.apache.cassandra.cql3.statements.schema.CreateTableStatement; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.exceptions.ConfigurationException; http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java ---------------------------------------------------------------------- diff --git a/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java b/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java index ae72f21..7dabe84 100644 --- a/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java +++ b/tools/stress/src/org/apache/cassandra/io/sstable/StressCQLSSTableWriter.java @@ -29,6 +29,9 @@ import org.apache.commons.lang3.ArrayUtils; import com.datastax.driver.core.ProtocolVersion; import com.datastax.driver.core.TypeCodec; import org.antlr.runtime.RecognitionException; +import org.apache.cassandra.cql3.CQLStatement; +import org.apache.cassandra.cql3.statements.schema.CreateTableStatement; +import org.apache.cassandra.cql3.statements.schema.CreateTypeStatement; import org.apache.cassandra.schema.TableId; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.config.DatabaseDescriptor; @@ -39,9 +42,6 @@ import org.apache.cassandra.cql3.CqlParser; import org.apache.cassandra.cql3.QueryOptions; import org.apache.cassandra.cql3.UpdateParameters; import org.apache.cassandra.cql3.functions.UDHelper; -import org.apache.cassandra.cql3.statements.CreateTableStatement; -import org.apache.cassandra.cql3.statements.CreateTypeStatement; -import org.apache.cassandra.cql3.statements.ParsedStatement; import org.apache.cassandra.cql3.statements.UpdateStatement; import org.apache.cassandra.db.*; import org.apache.cassandra.db.marshal.UserType; @@ -58,7 +58,6 @@ import org.apache.cassandra.schema.TableMetadataRef; import org.apache.cassandra.schema.Types; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.utils.ByteBufferUtil; -import org.apache.cassandra.utils.Pair; /** * Utility to write SSTables. @@ -359,8 +358,8 @@ public class StressCQLSSTableWriter implements Closeable private Boolean makeRangeAware = false; - private CreateTableStatement.RawStatement schemaStatement; - private final List<CreateTypeStatement> typeStatements; + private CreateTableStatement.Raw schemaStatement; + private final List<CreateTypeStatement.Raw> typeStatements; private UpdateStatement.ParsedInsert insertStatement; private IPartitioner partitioner; @@ -430,7 +429,7 @@ public class StressCQLSSTableWriter implements Closeable public Builder withType(String typeDefinition) throws SyntaxException { - typeStatements.add(parseStatement(typeDefinition, CreateTypeStatement.class, "CREATE TYPE")); + typeStatements.add(parseStatement(typeDefinition, CreateTypeStatement.Raw.class, "CREATE TYPE")); return this; } @@ -450,7 +449,7 @@ public class StressCQLSSTableWriter implements Closeable */ public Builder forTable(String schema) { - this.schemaStatement = parseStatement(schema, CreateTableStatement.RawStatement.class, "CREATE TABLE"); + this.schemaStatement = parseStatement(schema, CreateTableStatement.Raw.class, "CREATE TABLE"); return this; } @@ -567,25 +566,25 @@ public class StressCQLSSTableWriter implements Closeable if (partitioner == null) partitioner = cfs.getPartitioner(); - Pair<UpdateStatement, List<ColumnSpecification>> preparedInsert = prepareInsert(); + UpdateStatement preparedInsert = prepareInsert(); AbstractSSTableSimpleWriter writer = sorted - ? new SSTableSimpleWriter(cfs.getDirectories().getDirectoryForNewSSTables(), cfs.metadata, preparedInsert.left.updatedColumns()) - : new SSTableSimpleUnsortedWriter(cfs.getDirectories().getDirectoryForNewSSTables(), cfs.metadata, preparedInsert.left.updatedColumns(), bufferSizeInMB); + ? new SSTableSimpleWriter(cfs.getDirectories().getDirectoryForNewSSTables(), cfs.metadata, preparedInsert.updatedColumns()) + : new SSTableSimpleUnsortedWriter(cfs.getDirectories().getDirectoryForNewSSTables(), cfs.metadata, preparedInsert.updatedColumns(), bufferSizeInMB); if (formatType != null) writer.setSSTableFormatType(formatType); writer.setRangeAwareWriting(makeRangeAware); - return new StressCQLSSTableWriter(cfs, writer, preparedInsert.left, preparedInsert.right); + return new StressCQLSSTableWriter(cfs, writer, preparedInsert, preparedInsert.getBindVariables()); } } - private static void createTypes(String keyspace, List<CreateTypeStatement> typeStatements) + private static void createTypes(String keyspace, List<CreateTypeStatement.Raw> typeStatements) { KeyspaceMetadata ksm = Schema.instance.getKeyspaceMetadata(keyspace); Types.RawBuilder builder = Types.rawBuilder(keyspace); - for (CreateTypeStatement st : typeStatements) + for (CreateTypeStatement.Raw st : typeStatements) st.addToRawBuilder(builder); ksm = ksm.withSwapped(builder.build()); @@ -594,14 +593,14 @@ public class StressCQLSSTableWriter implements Closeable public static ColumnFamilyStore createOfflineTable(String schema, List<File> directoryList) { - return createOfflineTable(parseStatement(schema, CreateTableStatement.RawStatement.class, "CREATE TABLE"), Collections.EMPTY_LIST, directoryList); + return createOfflineTable(parseStatement(schema, CreateTableStatement.Raw.class, "CREATE TABLE"), Collections.EMPTY_LIST, directoryList); } /** * Creates the table according to schema statement * with specified data directories */ - public static ColumnFamilyStore createOfflineTable(CreateTableStatement.RawStatement schemaStatement, List<CreateTypeStatement> typeStatements, List<File> directoryList) + public static ColumnFamilyStore createOfflineTable(CreateTableStatement.Raw schemaStatement, List<CreateTypeStatement.Raw> typeStatements, List<File> directoryList) { String keyspace = schemaStatement.keyspace(); @@ -612,16 +611,17 @@ public class StressCQLSSTableWriter implements Closeable KeyspaceMetadata ksm = Schema.instance.getKeyspaceMetadata(keyspace); - TableMetadata tableMetadata = ksm.tables.getNullable(schemaStatement.columnFamily()); + TableMetadata tableMetadata = ksm.tables.getNullable(schemaStatement.table()); if (tableMetadata != null) return Schema.instance.getColumnFamilyStoreInstance(tableMetadata.id); - CreateTableStatement statement = (CreateTableStatement) schemaStatement.prepare(ksm.types).statement; - statement.validate(ClientState.forInternalCalls()); + ClientState state = ClientState.forInternalCalls(); + CreateTableStatement statement = schemaStatement.prepare(state); + statement.validate(state); //Build metadata with a portable tableId - tableMetadata = statement.builder() - .id(deterministicId(statement.keyspace(), statement.columnFamily())) + tableMetadata = statement.builder(ksm.types) + .id(deterministicId(schemaStatement.keyspace(), schemaStatement.table())) .build(); Keyspace.setInitialized(); @@ -646,28 +646,29 @@ public class StressCQLSSTableWriter implements Closeable * * @return prepared Insert statement and it's bound names */ - private Pair<UpdateStatement, List<ColumnSpecification>> prepareInsert() + private UpdateStatement prepareInsert() { - ParsedStatement.Prepared cqlStatement = insertStatement.prepare(); - UpdateStatement insert = (UpdateStatement) cqlStatement.statement; - insert.validate(ClientState.forInternalCalls()); + ClientState state = ClientState.forInternalCalls(); + CQLStatement cqlStatement = insertStatement.prepare(state); + UpdateStatement insert = (UpdateStatement) cqlStatement; + insert.validate(state); if (insert.hasConditions()) throw new IllegalArgumentException("Conditional statements are not supported"); if (insert.isCounter()) throw new IllegalArgumentException("Counter update statements are not supported"); - if (cqlStatement.boundNames.isEmpty()) + if (insert.getBindVariables().isEmpty()) throw new IllegalArgumentException("Provided insert statement has no bind variables"); - return Pair.create(insert, cqlStatement.boundNames); + return insert; } } - public static <T extends ParsedStatement> T parseStatement(String query, Class<T> klass, String type) + public static <T extends CQLStatement.Raw> T parseStatement(String query, Class<T> klass, String type) { try { - ParsedStatement stmt = CQLFragmentParser.parseAnyUnhandled(CqlParser::query, query); + CQLStatement.Raw stmt = CQLFragmentParser.parseAnyUnhandled(CqlParser::query, query); if (!stmt.getClass().equals(klass)) throw new IllegalArgumentException("Invalid query, must be a " + type + " statement but was: " + stmt.getClass()); http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/tools/stress/src/org/apache/cassandra/stress/CompactionStress.java ---------------------------------------------------------------------- diff --git a/tools/stress/src/org/apache/cassandra/stress/CompactionStress.java b/tools/stress/src/org/apache/cassandra/stress/CompactionStress.java index ffc1ace..b4be63d 100644 --- a/tools/stress/src/org/apache/cassandra/stress/CompactionStress.java +++ b/tools/stress/src/org/apache/cassandra/stress/CompactionStress.java @@ -30,7 +30,7 @@ import com.google.common.util.concurrent.Uninterruptibles; import io.airlift.airline.*; import org.apache.cassandra.config.DatabaseDescriptor; -import org.apache.cassandra.cql3.statements.CreateTableStatement; +import org.apache.cassandra.cql3.statements.schema.CreateTableStatement; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Directories; import org.apache.cassandra.db.SystemKeyspace; @@ -112,7 +112,7 @@ public abstract class CompactionStress implements Runnable { generateTokens(stressProfile.seedStr, StorageService.instance.getTokenMetadata(), numTokens); - CreateTableStatement.RawStatement createStatement = stressProfile.getCreateStatement(); + CreateTableStatement.Raw createStatement = stressProfile.getCreateStatement(); List<File> dataDirectories = getDataDirectories(); ColumnFamilyStore cfs = StressCQLSSTableWriter.Builder.createOfflineTable(createStatement, Collections.EMPTY_LIST, dataDirectories); http://git-wip-us.apache.org/repos/asf/cassandra/blob/207c80c1/tools/stress/src/org/apache/cassandra/stress/StressProfile.java ---------------------------------------------------------------------- diff --git a/tools/stress/src/org/apache/cassandra/stress/StressProfile.java b/tools/stress/src/org/apache/cassandra/stress/StressProfile.java index cda9c58..8de3ddf 100644 --- a/tools/stress/src/org/apache/cassandra/stress/StressProfile.java +++ b/tools/stress/src/org/apache/cassandra/stress/StressProfile.java @@ -40,9 +40,8 @@ import com.datastax.driver.core.exceptions.AlreadyExistsException; import org.antlr.runtime.RecognitionException; import org.apache.cassandra.cql3.CQLFragmentParser; import org.apache.cassandra.cql3.CqlParser; -import org.apache.cassandra.cql3.QueryProcessor; -import org.apache.cassandra.cql3.statements.CreateTableStatement; import org.apache.cassandra.cql3.statements.ModificationStatement; +import org.apache.cassandra.cql3.statements.schema.CreateTableStatement; import org.apache.cassandra.exceptions.RequestValidationException; import org.apache.cassandra.exceptions.SyntaxException; import org.apache.cassandra.schema.ColumnMetadata; @@ -165,7 +164,7 @@ public class StressProfile implements Serializable { try { - String name = CQLFragmentParser.parseAnyUnhandled(CqlParser::createKeyspaceStatement, keyspaceCql).keyspace(); + String name = CQLFragmentParser.parseAnyUnhandled(CqlParser::createKeyspaceStatement, keyspaceCql).keyspaceName; assert name.equalsIgnoreCase(keyspaceName) : "Name in keyspace_definition doesn't match keyspace property: '" + name + "' != '" + keyspaceName + "'"; } catch (RecognitionException | SyntaxException e) @@ -182,7 +181,7 @@ public class StressProfile implements Serializable { try { - String name = CQLFragmentParser.parseAnyUnhandled(CqlParser::createTableStatement, tableCql).columnFamily(); + String name = CQLFragmentParser.parseAnyUnhandled(CqlParser::createTableStatement, tableCql).table(); assert name.equalsIgnoreCase(tableName) : "Name in table_definition doesn't match table property: '" + name + "' != '" + tableName + "'"; } catch (RecognitionException | RuntimeException e) @@ -461,11 +460,10 @@ public class StressProfile implements Serializable return new PartitionGenerator(partitionColumns, clusteringColumns, regularColumns, PartitionGenerator.Order.ARBITRARY); } - public CreateTableStatement.RawStatement getCreateStatement() + public CreateTableStatement.Raw getCreateStatement() { - CreateTableStatement.RawStatement createStatement = QueryProcessor.parseStatement(tableCql, CreateTableStatement.RawStatement.class, "CREATE TABLE"); - createStatement.prepareKeyspace(keyspaceName); - + CreateTableStatement.Raw createStatement = CQLFragmentParser.parseAny(CqlParser::createTableStatement, tableCql, "CREATE TABLE"); + createStatement.keyspace(keyspaceName); return createStatement; } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
