sb.append(Utils.toCaseSensitive(pks.next().getName())); if (pks.hasNext()) { sb.append(", "); Iterator<ColumnName> pks = primaryKey.iterator(); while (pks.hasNext()) { sb.append(Utils.toCaseSensitive(pks.next().getName())); if (pks.hasNext()) { sb.append(", "); sb.append(", ").append(Utils.toCaseSensitive(key.getName()));
ColumnName columnName = new ColumnName(def.getKeyspace(), def.getTable(), def.getName()); ColumnType type = helper.toColumnType(def.getType().getName().toString()); ColumnName cassandraColumnName = new ColumnName(def.getKeyspace(), def.getTable(), def.getName()); for (Map.Entry<Selector, String> entry : alias.entrySet()) { if (entry.getKey().getColumnName().getQualifiedName().equals(cassandraColumnName.getQualifiedName())) { columnMetadata = new ColumnMetadata(columnName, null, type); columnMetadata.getName().setAlias(entry.getValue()); break; } else { ColumnName cassandraColumnName = new ColumnName(def.getKeyspace(), def.getTable(), def.getName()); boolean findIt = false; for (Map.Entry<Selector, String> entry : alias.entrySet()) { if (entry.getKey().getColumnName().getQualifiedName() .equals(cassandraColumnName.getQualifiedName())) { metaRow.addCell(entry.getValue(), metaCell); findIt = true;
public static String getFormatType(ColumnSelector left, Selector right, Session session) { switch (session.getCluster().getMetadata().getKeyspace(Utils.toCaseSensitive(left.getColumnName().getTableName() .getCatalogName().getName())).getTable( Utils.toCaseSensitive(left.getColumnName().getTableName().getName())).getColumn (Utils.toCaseSensitive(left.getColumnName().getName())).getType().getName()) {
String fieldName = fieldParts[0].replace("\"", ""); String fieldType = fieldParts[2].replace("}", "").replace("\"", ""); ColumnName columnName = new ColumnName(keyspace, table, fieldName); ColumnType columnType = new ColumnType(Utils.getDataTypeFromString(fieldType)); columnType.setDbType(fieldType);
ColumnName columnName = new ColumnName(def.getKeyspace(), def.getTable(), def.getName()); ColumnType type; if (def.getType().getName().toString().equalsIgnoreCase("list")){ ColumnName cassandraColumnName = new ColumnName(def.getKeyspace(), def.getTable(), def.getName()); for (Map.Entry<Selector, String> entry : alias.entrySet()) { if (entry.getKey().getColumnName().getQualifiedName().equals(cassandraColumnName.getQualifiedName())) { columnMetadata = new ColumnMetadata(columnName, null, type); columnMetadata.getName().setAlias(entry.getValue()); break; } else { metaCell = getCell(def.getType(), row, def.getName()); ColumnName cassandraColumnName = new ColumnName(def.getKeyspace(), def.getTable(), def.getName()); boolean findIt = false; for (Map.Entry<Selector, String> entry : alias.entrySet()) { if (entry.getKey().getColumnName().getQualifiedName() .equals(cassandraColumnName.getQualifiedName())) { metaRow.addCell(entry.getValue(), metaCell); findIt = true;
private String insertBlock(Row row, TableMetadata targetTable, boolean ifNotExists) throws ExecutionException { Set<String> keys = row.getCells().keySet(); Map<ColumnName, ColumnMetadata> columnsWithMetadata = targetTable.getColumns(); Map<String, ColumnInsertCassandra> columnsMetadata = new HashMap<>(); try { for (String key : keys) { ColumnName col = new ColumnName(targetTable.getName().getCatalogName().getName(), targetTable.getName().getName(), key); columnsMetadata.put(key, new ColumnInsertCassandra(columnsWithMetadata.get(col).getColumnType(), row.getCell(key).toString(), key)); } } catch (Exception e) { throw new ExecutionException("Trying insert data in a not existing column", e); } InsertIntoStatement insertStatement = new InsertIntoStatement(targetTable, columnsMetadata, ifNotExists); return insertStatement.toString(); }
private void getStringRangeFunction(FunctionSelector function, ColumnSelector leftSelector) { if (luceneIndexExist) { luceneIndex.append(","); } List<Selector> functionSelectors = function.getFunctionColumns().getSelectorList(); String arg1 = functionSelectors.get(0).getStringValue(); String arg2 = functionSelectors.get(1).getStringValue(); String column = Utils.toCaseSensitive(leftSelector.getName().getName()); luceneIndex.append("{type:\"range\", field:").append(column).append(", " + "lower:\"").append(arg1).append("\", upper:\"").append(arg2) .append("\",include_upper: true, include_lower: true }"); luceneIndexExist = true; }
ColumnName columnName = new ColumnName(cassandraTableMetadata.getKeyspace().getName(), cassandraTableMetadata.getName(), cassandraColumn.getName()); ColumnType columnType = utils.getCrossdataColumn(cassandraColumn.getType()); List<com.datastax.driver.core.ColumnMetadata> partitionColumns = cassandraTableMetadata.getPartitionKey(); for (com.datastax.driver.core.ColumnMetadata cassandraPartition : partitionColumns) { ColumnName columnName = new ColumnName(cassandraPartition.getTable().getKeyspace().getName(), cassandraPartition.getTable().getName(), cassandraPartition.getName()); List<com.datastax.driver.core.ColumnMetadata> clusterColumns = cassandraTableMetadata.getClusteringColumns(); for (com.datastax.driver.core.ColumnMetadata cassandraClusterKey : clusterColumns) { ColumnName columnName = new ColumnName(cassandraClusterKey.getTable().getKeyspace().getName(), cassandraClusterKey.getTable().getName(), cassandraClusterKey.getName());
/** * Obtain the single primary key. * @return a string with the primary key. */ public String getSinglePKString() { StringBuilder sb = new StringBuilder(" ("); Set<ColumnName> keySet = tableColumns.keySet(); int i = 0; for (ColumnName column : keySet) { if (i != 0) { sb.append(", "); } i = 1; String key = column.getName().substring(column.getName().lastIndexOf(".") + 1); ColumnType columnType=tableColumns.get(column).getColumnType(); String type; if (columnType.getDataType()== DataType.NATIVE){ type=columnType.getDbType(); }else { type = tableColumns.get(column).getColumnType().toString(); } sb.append(Utils.toCaseSensitive(key)).append(" ").append(type); if (key.equals(primaryKey.get(0).getName())) { sb.append(" PRIMARY KEY"); } } sb.append(")"); return sb.toString(); }
private String getAliasClause() { StringBuilder sb = new StringBuilder(); int i = 0; for (Map.Entry<Selector, String> entry : aliasColumns.entrySet()) { if (i != 0) { sb.append(","); } i = 1; if (!(entry.getKey() instanceof FunctionSelector)) { sb.append(Utils.toCaseSensitive(entry.getKey().getColumnName().getName())); } else if (sb.length() == 0) { i = 0; } } for (FunctionSelector selectorFunction : functions) { String functionString = getFunctionString(selectorFunction); if (i != 0) { sb.append(","); } i = 1; sb.append(functionString); } return sb.toString(); }
switch (option) { case ALTER_COLUMN: sb.append(" ALTER ").append(Utils.toCaseSensitive(column.getName())); sb.append(" TYPE ").append(type); break; case ADD_COLUMN: sb.append(" ADD "); sb.append(Utils.toCaseSensitive(column.getName())).append(" "); sb.append(type); break; case DROP_COLUMN: sb.append(" DROP "); sb.append(Utils.toCaseSensitive(column.getName())); break; case ALTER_OPTIONS:
private String getOrderByClause() { StringBuilder sb = new StringBuilder(); sb.append(" ORDER BY "); int count = 0; for (OrderByClause orderByClause : orderByColumns) { if (count != 0) { sb.append(","); } count = 1; ColumnSelector columnSelector = (ColumnSelector) orderByClause.getSelector(); sb.append(Utils.toCaseSensitive(columnSelector.getName().getName())).append(" ").append(orderByClause .getDirection().name()); } return sb.toString(); }
for (ColumnMetadata columnMetadata : targetColumns.values()) { sb.append("_"); sb.append(columnMetadata.getName().getName());
/** * Generate the Lucene options schema that corresponds with the selected column. * * @return The JSON representation of the Lucene schema. */ protected String generateLuceneSchema() { StringBuilder sb = new StringBuilder(); sb.append("{default_analyzer:\"org.apache.lucene.analysis.standard.StandardAnalyzer\","); sb.append("fields:{"); // Iterate throught the columns. for (Map.Entry<ColumnName, ColumnMetadata> entry : targetColumns.entrySet()) { sb.append(Utils.toCaseSensitive(entry.getValue().getName().getName())); sb.append(":"); if (entry.getValue().getColumnType().getDataType() == DataType.NATIVE) { if (entry.getValue().getColumnType().getDbType().equalsIgnoreCase("timestamp")) { sb.append("{type:\"date\", pattern:\"yyyy-MM-dd HH:mm:ss\"}"); } else { sb.append("{type:\"").append(entry.getValue().getColumnType().getDbType()).append("\"}"); } }else if(entry.getValue().getColumnType().getDataType() == DataType.LIST){ sb.append(luceneTypes.get(entry.getValue().getColumnType().getDbInnerType().getDataType())); }else { sb.append(luceneTypes.get(entry.getValue().getColumnType().getDataType())); } sb.append(","); } sb.append("}}"); return sb.toString().replace(",}}", "}}"); }
type = tableColumns.get(key).getColumnType().toString(); sb.append(Utils.toCaseSensitive(key.getName())).append(" ").append(type).append(", ");
sb.append(","); sb.append(Utils.toCaseSensitive(entry.getValue().getName().getName())); i = 1;
if (s instanceof ColumnSelector) { ColumnSelector columnSelector = (ColumnSelector) s; sb.append(Utils.toCaseSensitive(columnSelector.getColumnName().getName())); sb.append(","); } else if (s instanceof FunctionSelector) {
}else { ColumnSelector left = (ColumnSelector) relation.getLeftTerm(); String column = Utils.toCaseSensitive(left.getColumnName().getName()); sb.append(column).append(" ").append(relation.getOperator().toString()).append(" "); sb.append(function.toString()); String column = Utils.toCaseSensitive(left.getColumnName().getName()); sb.append(column).append(" ").append(relation.getOperator().toString()).append(" "); sb.append(Utils.getFormatType(left, right, session));
}else if(RelationSelector.class.isInstance(relation.getRightTerm())){ RelationSelector newRel=(RelationSelector)relation.getRightTerm(); String newLeft=((ColumnSelector)newRel.getRelation().getLeftTerm()).getColumnName().getName(); String newOp=newRel.getRelation().getOperator().toString(); String newRight;