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()); } }
@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()); }
/** * getJoinColumn method return ColumnInfo for the join column * * @param columnType * * @param String * joinColumnName. * @return ColumnInfo object columnInfo. */ private ColumnInfo getJoinColumn(TableInfo tableInfo, String joinColumnName, Class columnType) { ColumnInfo columnInfo = new ColumnInfo(); columnInfo.setColumnName(joinColumnName); columnInfo.setIndexable(true); IndexInfo indexInfo = new IndexInfo(joinColumnName); tableInfo.addToIndexedColumnList(indexInfo); columnInfo.setType(columnType); return columnInfo; }
if (primaryKey.equals(colInfo.getColumnName())) if (colInfo.getOrderBy() != null) translator.appendColumnName(clusterKeyOrderingBuilder, colInfo.getColumnName()); clusterKeyOrderingBuilder.append(translator.SPACE_STRING); clusterKeyOrderingBuilder.append(colInfo.getOrderBy()); clusterKeyOrderingBuilder.append(translator.COMMA_STR);
/** * 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; }
if (columnInfo.isIndexable()) embeddedIndexes.add(columnInfo.getColumnName()); for (IndexInfo indexInfo : tableInfo.getColumnsToBeIndexed()) ColumnInfo columnInfo = new ColumnInfo(); columnInfo.setColumnName(indexInfo.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); } } } }
/** * 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); } }
/** * Adds the to indexed column list. * * @param indexInfo * the index info */ public void addToIndexedColumnList(IndexInfo indexInfo) { ColumnInfo columnInfo = new ColumnInfo(); columnInfo.setColumnName(indexInfo.getColumnName()); if (getEmbeddedColumnMetadatas().isEmpty() || !getEmbeddedColumnMetadatas().get(0).getColumns().contains(columnInfo)) { if (!columnToBeIndexed.contains(indexInfo)) { columnToBeIndexed.add(indexInfo); } } } }
/** * 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 * @param isCounterColumnType * the is counter column type * @return true, if is indexes present * @throws Exception * the exception */ private boolean isValidationClassSame(ColumnInfo columnInfo, ColumnDef columnDef, boolean isCql3Enabled, boolean isCounterColumnType) throws Exception { return (isColumnPresent(columnInfo, columnDef, isCql3Enabled) && columnDef.getValidation_class().endsWith( isCounterColumnType ? CounterColumnType.class.getSimpleName() : CassandraValidationClassMapper .getValidationClass(columnInfo.getType(), isCql3Enabled))); }
/** * 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 * @param isCounterColumnType * the is counter column type * @return true, if is indexes present * @throws Exception * the exception */ private boolean isIndexPresent(ColumnInfo columnInfo, ColumnDef columnDef, boolean isCql3Enabled, boolean isCounterColumnType) throws Exception { return (isValidationClassSame(columnInfo, columnDef, isCql3Enabled, isCounterColumnType) && (columnDef .isSetIndex_type() == columnInfo.isIndexable() || (columnDef.isSetIndex_type()))); }
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))); columnDefs.add(columnDef);
/** * Add {@link DiscriminatorColumn} for schema generation. * * @param tableInfo * table info. * @param entityType * entity type. */ private void onInheritedProperty(TableInfo tableInfo, EntityType entityType) { String discrColumn = ((AbstractManagedType) entityType).getDiscriminatorColumn(); if (discrColumn != null) { ColumnInfo columnInfo = new ColumnInfo(); columnInfo.setColumnName(discrColumn); columnInfo.setType(String.class); columnInfo.setIndexable(true); IndexInfo idxInfo = new IndexInfo(discrColumn); tableInfo.addColumnInfo(columnInfo); tableInfo.addToIndexedColumnList(idxInfo); } }
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);
/** * 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())); }
for (IndexInfo indexInfo : tableInfo.getColumnsToBeIndexed()) ColumnInfo columnInfo = new ColumnInfo(); columnInfo.setColumnName(indexInfo.getColumnName()); if (!tableInfo.getEmbeddedColumnMetadatas().isEmpty())
columnInfo.getType(), isCql3Enabled));
/** * isInedexesPresent method return whether indexes present or not on * particular column. * * @param columnInfo * the column info * @param cfDef * the cf def * @return true, if is indexes present * @throws UnsupportedEncodingException */ private boolean isIndexPresent(ColumnInfo columnInfo, ColumnDef columnDef, boolean isCql3Enabled) throws Exception { return (isValidationClassSame(columnInfo, columnDef, isCql3Enabled) && (columnDef.isSetIndex_type() == columnInfo .isIndexable() || (columnDef.isSetIndex_type()))); }
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);
/** * getColumnMetadata use for getting column metadata for specific * columnInfo. * * @param columnInfo * the column 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())); } return columnDef; }