private String getFromClause() { StringBuilder sb = new StringBuilder(); sb.append(" FROM "); if (catalogInc) { sb.append(Utils.toCaseSensitive(catalog)).append("."); } sb.append(Utils.toCaseSensitive(tableName.getName())); return sb.toString(); }
@Override public String toString() { StringBuilder sb = new StringBuilder("TRUNCATE "); if (catalogInc) { sb.append(Utils.toCaseSensitive(catalog)).append("."); } sb.append(Utils.toCaseSensitive(tableName.getName())); return sb.toString(); }
@Override public String toString() { StringBuilder sb = new StringBuilder("DELETE FROM "); if (catalogInc) { sb.append(Utils.toCaseSensitive(catalog)).append("."); } sb.append(Utils.toCaseSensitive(tableName.getName())); if (!whereClauses.isEmpty()) { sb.append(" WHERE "); for (Filter filter : whereClauses) { Relation relation = filter.getRelation(); String leftTerm = relation.getLeftTerm().getStringValue().substring(relation.getLeftTerm() .getStringValue().lastIndexOf('.') + 1, relation.getLeftTerm().getStringValue().length()); sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (relation.getRightTerm().toString()).append(" AND "); } sb.delete(sb.lastIndexOf(" AND"), sb.length()); } return sb.toString(); }
StringBuilder sb = new StringBuilder("ALTER TABLE "); sb.append(Utils.toCaseSensitive(tableName.getCatalogName().getName())).append('.').append(Utils.toCaseSensitive (tableName.getName())); switch (option) { case ALTER_COLUMN:
sb.append(Utils.toCaseSensitive(tableName.getCatalogName().getName())).append('.') .append(Utils.toCaseSensitive(tableName .getName()));
List<ColumnName> primaryKey, List<ColumnName> partitionKey, List<ColumnName> clusterKey, int primaryKeyType, String properties, boolean ifNotExists) throws ExecutionException { this.tableName = tableMetadata.getName().getName(); this.catalog = tableMetadata.getName().getCatalogName().getName(); this.catalogInc = 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(); }
this.createIfNotExists = createIfNotExists; this.type = indexMetadata.getType(); this.tableName = indexMetadata.getName().getTableName().getName(); this.keyspace = indexMetadata.getName().getTableName().getCatalogName().getName(); if (keyspace != null) { String catalog= Utils.toCaseSensitive(indexMetadata.getName().getTableName().getCatalogName() .getName()); String table=Utils.toCaseSensitive(indexMetadata.getName().getTableName().getName()); session.execute( "ALTER TABLE " + catalog + '.' + table + " ADD "
private String getLuceneIndex() { String indexName = ""; List<ColumnMetadata> columns = session.getCluster().getMetadata().getKeyspace(Utils.toCaseSensitive(catalog)).getTable( Utils.toCaseSensitive(tableName .getName())) .getColumns(); for (ColumnMetadata column : columns) { if (column.getIndex() != null && column.getIndex().isCustomIndex()) { indexName = Utils.toCaseSensitive(column.getName()); } } return indexName; }
/** * Get the Crossdata TableMetadata from a tableName that is search into cassandra table metadata. * * @param session The cassandra session. * @param tableName The table name to search. * @return A {@link com.stratio.crossdata.common.metadata.TableMetadata} . */ public static TableMetadata getTablesByTableName(Session session, TableName tableName, String cluster) throws ConnectorException { Metadata clusterMetadata = session.getCluster().getMetadata(); String ks = Utils.toCaseSensitive(tableName.getCatalogName().getName()); KeyspaceMetadata ksMetadata = clusterMetadata.getKeyspace(ks); if(clusterMetadata.getKeyspace(ks) == null){ throw new ConnectorException("Catalog " + ks + " not found"); } String tn = Utils.toCaseSensitive(tableName.getName()); com.datastax.driver.core.TableMetadata cassandraTableMetadata = ksMetadata.getTable(tn); if(ksMetadata.getTable(tn) == null){ throw new ConnectorException("Table " + ks + "." + tn + " not found"); } return getXDTableMetadata(session, cassandraTableMetadata, cluster); }
if(indexMetadata.getType() == IndexType.FULL_TEXT){ String tableName = Utils.toCaseSensitive(indexMetadata.getName().getTableName().getName()); String catalog = Utils.toCaseSensitive(indexMetadata.getName().getTableName().getCatalogName().getName()); String remove = "ALTER TABLE " + catalog + "." + tableName + " DROP " + indexMetadata
Utils.toCaseSensitive(left.getColumnName().getTableName().getName())).getColumn (Utils.toCaseSensitive(left.getColumnName().getName())).getType().getName()) {
/** * Drop Index that was created previously. * * @param targetCluster The target cluster. * @param indexMetadata The IndexName of the index. * @throws ConnectorException */ @Override public void dropIndex(ClusterName targetCluster, IndexMetadata indexMetadata) throws ConnectorException { String remove; session = sessions.get(targetCluster.getName()); DropIndexStatement indexStatement = new DropIndexStatement(indexMetadata, false); //remove de column create for the index and automatically delete the index too String tableName = Utils.toCaseSensitive(indexMetadata.getName().getTableName().getName()); String catalog = Utils.toCaseSensitive(indexMetadata.getName().getTableName().getCatalogName().getName()); if (indexMetadata.getType() == IndexType.FULL_TEXT) { remove = "ALTER TABLE " + catalog + "." + tableName + " DROP " + Utils.toCaseSensitive(indexMetadata.getName().getName()); CassandraExecutor.execute(remove, session); } else { remove = "DROP INDEX " + catalog + "." + Utils.toCaseSensitive(indexMetadata.getName().getName()); /* String removeColumn = "ALTER TABLE " + catalog + "." + tableName + " DROP " + Utils.toCaseSensitive (indexMetadata .getName().getName());*/ CassandraExecutor.execute(remove, session); //CassandraExecutor.execute(removeColumn, session); } }