/** * 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))); }
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()); } }
/** * 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); }
String coulmnType = columnInfo.getType().getSimpleName().toLowerCase(); builder.append(OracleNoSQLValidationClassMapper.getValidType(coulmnType)); builder.append(Constants.COMMA); String coulmnType = columnInfo.getType().getSimpleName().toLowerCase(); builder.append(OracleNoSQLValidationClassMapper.getValidType(coulmnType)); builder.append(Constants.COMMA);
else if (colInfo.getType().isAnnotationPresent(Embeddable.class)) EmbeddableType embeddedObject = (EmbeddableType) metaModel.embeddable(colInfo.getType()); for (Field embeddedColumn : colInfo.getType().getDeclaredFields()) validateAndAppendColumnName(translator, queryBuilder, colInfo.getColumnName(), colInfo.getType());
translator.ensureCase(addColumnQuery, column.getColumnName(), false); addColumnQuery.append(" " + translator.getCQLType(CassandraValidationClassMapper.getValidationClass(column.getType(), isCql3Enabled(tableInfo)))); try
columnInfo.getType(), isCql3Enabled(tableInfo))); columnDefs.add(columnDef);
.put(ByteBufferUtil.bytes(columnInfo.getColumnName()), UTF8Type.class.getSimpleName()); value_types.put(ByteBufferUtil.bytes(columnInfo.getColumnName()), CassandraValidationClassMapper.getValidationClassInstance(columnInfo.getType(), true) .getName()); .getValidationClassInstance(info.getType(), true).getName());
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()); }
/** * 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; }
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 isValidationClassSame(ColumnInfo columnInfo, ColumnDef columnDef, boolean isCql3Enabled) throws Exception { return (isColumnPresent(columnInfo, columnDef, isCql3Enabled) && columnDef.getValidation_class().endsWith( CassandraValidationClassMapper.getValidationClass(columnInfo.getType(), isCql3Enabled))); }
/** * On composite columns. * * @param translator * the translator * @param columns * the columns * @param queryBuilder * the query builder */ private void onCompositeColumns(CQLTranslator translator, List<ColumnInfo> compositeColumns, StringBuilder queryBuilder, List<ColumnInfo> columns) { for (ColumnInfo colInfo : compositeColumns) { if (columns == null || (columns != null && !columns.contains(colInfo))) { String dataType = CassandraValidationClassMapper.getValidationClass(colInfo.getType(), true); String cqlType = translator.getCQLType(dataType); translator.appendColumnName(queryBuilder, colInfo.getColumnName(), cqlType); queryBuilder.append(" ,"); } } }
/** * Alters column type of an existing column. * * @param tableInfo * @param translator * @param column * @throws TException * @throws SchemaDisagreementException * @throws TimedOutException * @throws UnavailableException * @throws InvalidRequestException */ 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); }
columnInfo.getType(), isCql3Enabled(tableInfo))); columnDefs.add(columnDef);
/** * 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; }
private boolean isCfDefUpdated(ColumnInfo columnInfo, CfDef cfDef, boolean isCql3Enabled, TableInfo tableInfo) throws Exception { boolean columnPresent = false; boolean isUpdated = false; for (ColumnDef columnDef : cfDef.getColumn_metadata()) { if (isColumnPresent(columnInfo, columnDef, isCql3Enabled)) { if (!isValidationClassSame(columnInfo, columnDef, isCql3Enabled)) { columnDef.setValidation_class(CassandraValidationClassMapper.getValidationClass( columnInfo.getType(), isCql3Enabled)); columnDef.setIndex_typeIsSet(false); columnDef.setIndex_nameIsSet(false); isUpdated = true; } columnPresent = true; break; } } if (!columnPresent) { cfDef.addToColumn_metadata(getColumnMetadata(columnInfo, tableInfo)); isUpdated = true; } return isUpdated; }