src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
/**
     * Delete all columns from all indexes for this row
     * @param key the row key
     * @param indexedColumnsInRow all column names in row
     */
Delete all columns from all indexes for this row
@param key the row key
@param indexedColumnsInRow all column names in row
Delete all columns from all indexes for this row @param key the row key @param indexedColumnsInRow all column names in row
public void deleteFromIndexes(DecoratedKey<?> key, List<IColumn> indexedColumnsInRow) throws IOException
    {
        Set<Class<? extends SecondaryIndex>> cleanedRowLevelIndexes = null;       
        for (IColumn column : indexedColumnsInRow)
        {
            SecondaryIndex index = indexesByColumn.get(column.name());
            if (index == null)
                continue;
            if (index instanceof PerRowSecondaryIndex)
            {
                if (cleanedRowLevelIndexes == null)
                    cleanedRowLevelIndexes = new HashSet<Class<? extends SecondaryIndex>>();
                if (cleanedRowLevelIndexes.add(index.getClass()))
                    ((PerRowSecondaryIndex)index).deleteFromIndex(key, indexedColumnsInRow);             
            }
            else
            {
                DecoratedKey<LocalToken> valueKey = getIndexKeyFor(column.name(), column.value());
                ((PerColumnSecondaryIndex) index).deleteColumn(valueKey, key.key, column);
            }
        }       
    }
public void deleteFromIndexes ( DecoratedKey < ? > key , List < IColumn > indexedColumnsInRow ) throws IOException { Set < Class < ? extends SecondaryIndex > > cleanedRowLevelIndexes = null ; for ( IColumn column : indexedColumnsInRow ) { SecondaryIndex index = indexesByColumn . get ( column . name ( ) ) ; if ( index == null ) continue ; if ( index instanceof PerRowSecondaryIndex ) { if ( cleanedRowLevelIndexes == null ) cleanedRowLevelIndexes = new HashSet < Class < ? extends SecondaryIndex > > ( ) ; if ( cleanedRowLevelIndexes . add ( index . getClass ( ) ) ) ( ( PerRowSecondaryIndex ) index ) . deleteFromIndex ( key , indexedColumnsInRow ) ; } else { DecoratedKey < LocalToken > valueKey = getIndexKeyFor ( column . name ( ) , column . value ( ) ) ; ( ( PerColumnSecondaryIndex ) index ) . deleteColumn ( valueKey , key . key , column ) ; } } }
Delete all columns from all indexes for this row
 @param key the row key
 @param indexedColumnsInRow all column names in row
Delete all columns from all indexes for this row @param key the row key @param indexedColumnsInRow all column names in row
// Identify the columns with isRowLevelIndex == true  // we need to make sure this is only called once //Update entire row if we encounter a row level index