/** * Adds the column info. * * @param columnInfo * the column info */ public void addColumnInfo(ColumnInfo columnInfo) { if (this.columnMetadatas == null) { this.columnMetadatas = new ArrayList<ColumnInfo>(); } if (!columnMetadatas.contains(columnInfo) && !this.getIdColumnName().equals(columnInfo.getColumnName())) { columnMetadatas.add(columnInfo); } }
/** * isInedexesPresent method return whether indexes present or not on * particular column. * * @param columnInfo * the column info * @param columnDef * the column def * @param isCql3Enabled * the is cql3 enabled * @return true, if is indexes present * @throws Exception * the exception */ private boolean isColumnPresent(ColumnInfo columnInfo, ColumnDef columnDef, boolean isCql3Enabled) throws Exception { return (new String(columnDef.getName(), Constants.ENCODING).equals(columnInfo.getColumnName())); }
if (primaryKey.equals(colInfo.getColumnName())) translator.appendColumnName(clusterKeyOrderingBuilder, colInfo.getColumnName()); clusterKeyOrderingBuilder.append(translator.SPACE_STRING); clusterKeyOrderingBuilder.append(colInfo.getOrderBy());
private void buildColumnsFromEmbeddableColumn(EmbeddedColumnInfo embColumnInfo, List<ColumnSchema> columns) { for (ColumnInfo columnInfo : embColumnInfo.getColumns()) { ColumnSchemaBuilder columnSchemaBuilder = new ColumnSchema.ColumnSchemaBuilder(columnInfo.getColumnName(), KuduDBValidationClassMapper.getValidTypeForClass(columnInfo.getType())); columns.add(columnSchemaBuilder.build()); } }
builder.append(columnInfo.getColumnName()); builder.append(Constants.SPACE); String coulmnType = columnInfo.getType().getSimpleName().toLowerCase(); builder.append(columnInfo.getColumnName()); builder.append(Constants.SPACE); String coulmnType = columnInfo.getType().getSimpleName().toLowerCase(); if (flag) compoundKeys.append(columnInfo.getColumnName()); compoundKeys.append(Constants.COMMA);
AtomicBoolean updated) if (!KuduDBDataHandler.hasColumn(schema, columnInfo.getColumnName())) alterTableOptions.addNullableColumn(columnInfo.getColumnName(), KuduDBValidationClassMapper.getValidTypeForClass(columnInfo.getType())); updated.set(true); if (!schema.getColumn(columnInfo.getColumnName()).getType() .equals(KuduDBValidationClassMapper.getValidTypeForClass(columnInfo.getType()))) alterTableOptions.dropColumn(columnInfo.getColumnName()); alterTableOptions.addNullableColumn(columnInfo.getColumnName(), KuduDBValidationClassMapper.getValidTypeForClass(columnInfo.getType())); updated.set(true);
/** * showSchema Alters column type of an existing column. * * @param tableInfo * the table info * @param translator * the translator * @param column * the column * @throws Exception * the exception */ private void alterColumnType(TableInfo tableInfo, CQLTranslator translator, ColumnInfo column) throws Exception { StringBuilder alterColumnTypeQuery = new StringBuilder("ALTER TABLE "); translator.ensureCase(alterColumnTypeQuery, tableInfo.getTableName(), false); alterColumnTypeQuery.append(" ALTER "); translator.ensureCase(alterColumnTypeQuery, column.getColumnName(), false); alterColumnTypeQuery.append(" TYPE " + translator.getCQLType(CassandraValidationClassMapper.getValidationClass(column.getType(), isCql3Enabled(tableInfo)))); cassandra_client.execute_cql3_query(ByteBuffer.wrap(alterColumnTypeQuery.toString().getBytes()), Compression.NONE, ConsistencyLevel.ONE); KunderaCoreUtils.printQuery(alterColumnTypeQuery.toString(), showQuery); }
translator.ensureCase(addColumnQuery, tableInfo.getTableName(), false); addColumnQuery.append(" ADD "); translator.ensureCase(addColumnQuery, column.getColumnName(), false); addColumnQuery.append(" " + translator.getCQLType(CassandraValidationClassMapper.getValidationClass(column.getType(), ireforAddColumnbBuilder.append(column.getColumnName() + " because it conflicts with an existing column"); if (ireforAddColumn.getWhy() != null && ireforAddColumn.getWhy().equals(ireforAddColumnbBuilder.toString()))
if (columnInfo.isIndexable()) IndexInfo indexInfo = tableInfo.getColumnToBeIndexed(columnInfo.getColumnName()); columnDef.setIndex_type(CassandraIndexHelper.getIndexType(indexInfo.getIndexType())); columnDef.setName(columnInfo.getColumnName().getBytes()); columnDef.setValidation_class(CounterColumnType.class.getName()); counterColumnDefs.add(columnDef);
translator.appendColumnName(queryBuilder, colInfo.getColumnName(), cqlType); queryBuilder.append(Constants.SPACE_COMMA); validateAndAppendColumnName(translator, queryBuilder, colInfo.getColumnName(), colInfo.getType());
for (ColumnInfo column : columnInfos) if (table.getField(column.getColumnName()) == null) newColumns.put(column.getColumnName(), column.getType().getSimpleName()); if (table.getField(column.getColumnName()) == null) newColumns.put(column.getColumnName(), column.getType().getSimpleName());
/** * getColumnMetadata use for getting column metadata for specific * columnInfo. * * @param columnInfo * the column info * @param tableInfo * the table info * @return the column metadata */ private ColumnDef getColumnMetadata(ColumnInfo columnInfo, TableInfo tableInfo) { ColumnDef columnDef = new ColumnDef(); columnDef.setName(columnInfo.getColumnName().getBytes()); columnDef.setValidation_class(CassandraValidationClassMapper.getValidationClass(columnInfo.getType(), isCql3Enabled(tableInfo))); if (columnInfo.isIndexable()) { IndexInfo indexInfo = tableInfo.getColumnToBeIndexed(columnInfo.getColumnName()); columnDef.setIndex_type(CassandraIndexHelper.getIndexType(indexInfo.getIndexType())); // if (!indexInfo.getIndexName().equals(indexInfo.getColumnName())) // { // columnDef.setIndex_name(indexInfo.getIndexName()); // } } return columnDef; }
entityColumns.add(columnInfo.getColumnName()); alterColumn(alterTableOptions, schema, columnInfo, updated); entityColumns.add(columnInfo.getColumnName()); alterColumn(alterTableOptions, schema, columnInfo, updated);
if (columnInfo.isIndexable()) IndexInfo indexInfo = tableInfo.getColumnToBeIndexed(columnInfo.getColumnName()); columnDef.setIndex_type(CassandraIndexHelper.getIndexType(indexInfo.getIndexType())); columnDef.setName(columnInfo.getColumnName().getBytes()); columnDef.setValidation_class(CassandraValidationClassMapper.getValidationClass( columnInfo.getType(), isCql3Enabled(tableInfo)));
embeddedIndexes.add(columnInfo.getColumnName());
/** * @param tableInfo * @param collection */ private void createIndexes(TableInfo tableInfo, DBCollection collection) { // index normal column for (ColumnInfo columnInfo : tableInfo.getColumnMetadatas()) { if (columnInfo.isIndexable()) { IndexInfo indexInfo = tableInfo.getColumnToBeIndexed(columnInfo.getColumnName()); indexColumn(indexInfo, collection); } } // index embedded column. for (EmbeddedColumnInfo info : tableInfo.getEmbeddedColumnMetadatas()) { for (ColumnInfo columnInfo : info.getColumns()) { if (columnInfo.isIndexable()) { IndexInfo indexInfo = tableInfo.getColumnToBeIndexed(columnInfo.getColumnName()); indexEmbeddedColumn(indexInfo, info.getEmbeddedColumnName(), collection); } } } }
.put(ByteBufferUtil.bytes(columnInfo.getColumnName()), UTF8Type.class.getSimpleName()); value_types.put(ByteBufferUtil.bytes(columnInfo.getColumnName()), CassandraValidationClassMapper.getValidationClassInstance(columnInfo.getType(), true) .getName()); name_types.put(ByteBufferUtil.bytes(info.getColumnName()), UTF8Type.class.getSimpleName()); value_types.put(ByteBufferUtil.bytes(info.getColumnName()), CassandraValidationClassMapper .getValidationClassInstance(info.getType(), true).getName());
@Test public void testWithSingleValueConstructor() { ColumnInfo columnInfo = new ColumnInfo(); columnInfo.setColumnName("column1"); columnInfo.setIndexable(true); columnInfo.setType(Integer.class); Assert.assertEquals("column1", columnInfo.getColumnName()); Assert.assertTrue(columnInfo.isIndexable()); Assert.assertEquals(Integer.class, columnInfo.getType()); ColumnInfo col1 = new ColumnInfo(); col1.setColumnName("column1"); Assert.assertEquals(col1, columnInfo); //column name comparison. Assert.assertNotNull(col1.toString()); }
ColumnSchemaBuilder columnSchemaBuilder = new ColumnSchema.ColumnSchemaBuilder(columnInfo.getColumnName(), KuduDBValidationClassMapper.getValidTypeForClass(columnInfo.getType())); columns.add(columnSchemaBuilder.build());
throw new SchemaGenerationException("Column " + columnInfo.getColumnName() + " does not exist in column family " + tableInfo.getTableName() + "", "Cassandra", databaseName, tableInfo.getTableName());