@Test public void testEditColumnFamily() throws Exception { BasicColumnFamilyDefinition columnFamilyDefinition = new BasicColumnFamilyDefinition(); columnFamilyDefinition.setKeyspaceName("DynKeyspace3"); columnFamilyDefinition.setName("DynamicCF"); ColumnFamilyDefinition cfDef = new ThriftCfDef(columnFamilyDefinition); KeyspaceDefinition keyspaceDefinition = HFactory.createKeyspaceDefinition("DynKeyspace3", "org.apache.cassandra.locator.SimpleStrategy", 1, Arrays.asList(cfDef)); cassandraCluster.addKeyspace(keyspaceDefinition); KeyspaceDefinition fromCluster = cassandraCluster.describeKeyspace("DynKeyspace3"); cfDef = fromCluster.getCfDefs().get(0); columnFamilyDefinition = new BasicColumnFamilyDefinition(cfDef); BasicColumnDefinition columnDefinition = new BasicColumnDefinition(); columnDefinition.setName(StringSerializer.get().toByteBuffer("birthdate")); columnDefinition.setIndexName("birthdate_idx"); columnDefinition.setIndexType(ColumnIndexType.KEYS); columnDefinition.setValidationClass(ComparatorType.LONGTYPE.getClassName()); columnFamilyDefinition.addColumnDefinition(columnDefinition); columnDefinition = new BasicColumnDefinition(); columnDefinition.setName(StringSerializer.get().toByteBuffer("nonindexed_field")); columnDefinition.setValidationClass(ComparatorType.LONGTYPE.getClassName()); columnFamilyDefinition.addColumnDefinition(columnDefinition); cassandraCluster.updateColumnFamily(new ThriftCfDef(columnFamilyDefinition)); fromCluster = cassandraCluster.describeKeyspace("DynKeyspace3"); assertEquals("birthdate",StringSerializer.get().fromByteBuffer(fromCluster.getCfDefs().get(0).getColumnMetadata().get(0).getName())); assertEquals("birthdate_idx",fromCluster.getCfDefs().get(0).getColumnMetadata().get(0).getIndexName()); assertEquals("nonindexed_field",StringSerializer.get().fromByteBuffer(fromCluster.getCfDefs().get(0).getColumnMetadata().get(1).getName())); }
@Test public void testAddColumnDefinitionWhenNoneOnConstructor() { ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition("blah-ks", "blah-cf", ComparatorType.BYTESTYPE); assertSame( Collections.emptyList(), cfDef.getColumnMetadata()); // // column defs are not required but are nice for validating data and displaying meaningful values in // cassandra-cli // BasicColumnDefinition cd = new BasicColumnDefinition(); cd.setName(ByteBuffer.wrap("colname".getBytes())); cd.setValidationClass("org.apache.cassandra.db.marshal.UTF8Type"); cfDef.addColumnDefinition(cd); assertEquals( 1, cfDef.getColumnMetadata().size()); assertEquals( cd, cfDef.getColumnMetadata().get(0)); }
/** * Creates a column family definition. * * @param colName the column family name. * @param validationClass the validation class. * @param indexName the index name. * @return the column family definition. */ protected ColumnDefinition createCDef( final byte[] colName, final String validationClass, final String indexName) { final BasicColumnDefinition colDef = new BasicColumnDefinition(); colDef.setName(ByteBuffer.wrap(colName)); colDef.setValidationClass(validationClass); colDef.setIndexType(ColumnIndexType.KEYS); colDef.setIndexName(indexName); return colDef; }
/** * Creates a column family definition. * * @param colName the column family name. * @param validationClass the validation class. * @param indexName the index name. * @return the column family definition. */ protected ColumnDefinition createCDef( final byte[] colName, final String validationClass, final String indexName) { final BasicColumnDefinition colDef = new BasicColumnDefinition(); colDef.setName(ByteBuffer.wrap(colName)); colDef.setValidationClass(validationClass); colDef.setIndexType(ColumnIndexType.KEYS); colDef.setIndexName(indexName); return colDef; }
BasicColumnDefinition colDef = new BasicColumnDefinition(); colDef.setName(BytesArraySerializer.get().toByteBuffer(COLUMN_NAME)); colDef.setValidationClass(ComparatorType.BYTESTYPE.getClassName()); colDef.setIndexType(ColumnIndexType.KEYS); colDef.setIndexName(_cf_name + "_val_idx");
BasicColumnDefinition colDef = new BasicColumnDefinition(); colDef.setName(BytesArraySerializer.get().toByteBuffer(COLUMN_NAME)); colDef.setValidationClass(ComparatorType.BYTESTYPE.getClassName()); colDef.setIndexType(ColumnIndexType.KEYS); colDef.setIndexName(_cf_name + "_val_idx");
BasicColumnDefinition nameColumn = new BasicColumnDefinition(); nameColumn.setName( StringSerializer.get().toByteBuffer( NAME.toString() ) ); nameColumn.setIndexName( NAME.toString() ); nameColumn.setIndexType( ColumnIndexType.KEYS ); nameColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); namespace.addColumnDefinition( nameColumn ); BasicColumnDefinition repositoryIdColumn = new BasicColumnDefinition(); repositoryIdColumn.setName( StringSerializer.get().toByteBuffer( REPOSITORY_NAME.toString() ) ); repositoryIdColumn.setIndexName( REPOSITORY_NAME.toString() ); repositoryIdColumn.setIndexType( ColumnIndexType.KEYS ); repositoryIdColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); namespace.addColumnDefinition( repositoryIdColumn ); BasicColumnDefinition nameColumn = new BasicColumnDefinition(); nameColumn.setName( StringSerializer.get().toByteBuffer( REPOSITORY_NAME.toString() ) ); nameColumn.setIndexName( REPOSITORY_NAME.toString() ); nameColumn.setIndexType( ColumnIndexType.KEYS ); nameColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); repository.addColumnDefinition( nameColumn ); BasicColumnDefinition projectIdColumn = new BasicColumnDefinition(); projectIdColumn.setName( StringSerializer.get().toByteBuffer( PROJECT_ID.toString() ) ); projectIdColumn.setIndexName( PROJECT_ID.toString() ); projectIdColumn.setIndexType( ColumnIndexType.KEYS ); projectIdColumn.setValidationClass( ComparatorType.UTF8TYPE.getClassName() ); project.addColumnDefinition( projectIdColumn ); BasicColumnDefinition repositoryIdColumn = new BasicColumnDefinition();
BasicColumnDefinition columnDefinition = new BasicColumnDefinition(); columnDefinition.setName(stringSerializer.toByteBuffer("birthdate")); columnDefinition.setIndexName("birthdate_idx"); columnDefinition.setIndexType(ColumnIndexType.KEYS); columnDefinition.setValidationClass(ComparatorType.LONGTYPE.getClassName());
BasicColumnDefinition levelColumn = new BasicColumnDefinition(); levelColumn.setName( StringSerializer.get().toByteBuffer("level")); levelColumn.setIndexName("level"); levelColumn.setIndexType( ColumnIndexType.KEYS); levelColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName()); pathTracking.addColumnDefinition( levelColumn ); BasicColumnDefinition startTimeColumn = new BasicColumnDefinition(); startTimeColumn.setName( StringSerializer.get().toByteBuffer("startTime")); startTimeColumn.setIndexName("startTime"); startTimeColumn.setIndexType( ColumnIndexType.KEYS); startTimeColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName()); pathTracking.addColumnDefinition( startTimeColumn ); BasicColumnDefinition executionTimeColumn = new BasicColumnDefinition(); executionTimeColumn.setName( StringSerializer.get().toByteBuffer("executionTime")); executionTimeColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName()); pathTracking.addColumnDefinition( executionTimeColumn );
BasicColumnDefinition levelColumn = new BasicColumnDefinition(); levelColumn.setName( StringSerializer.get().toByteBuffer("level")); levelColumn.setIndexName("level"); levelColumn.setIndexType( ColumnIndexType.KEYS); levelColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName()); pathTracking.addColumnDefinition( levelColumn ); BasicColumnDefinition startTimeColumn = new BasicColumnDefinition(); startTimeColumn.setName( StringSerializer.get().toByteBuffer("startTime")); startTimeColumn.setIndexName("startTime"); startTimeColumn.setIndexType( ColumnIndexType.KEYS); startTimeColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName()); pathTracking.addColumnDefinition( startTimeColumn ); BasicColumnDefinition executionTimeColumn = new BasicColumnDefinition(); executionTimeColumn.setName( StringSerializer.get().toByteBuffer("executionTime")); executionTimeColumn.setValidationClass(ComparatorType.LONGTYPE.getClassName()); pathTracking.addColumnDefinition( executionTimeColumn );