Skip to content

Commit 776104e

Browse files
committed
wip
1 parent 0d1325c commit 776104e

2 files changed

Lines changed: 28 additions & 1 deletion

File tree

src/java/org/apache/cassandra/db/SerializationHeader.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@
2323
import java.util.Collection;
2424
import java.util.HashMap;
2525
import java.util.LinkedHashMap;
26+
import java.util.LinkedHashSet;
2627
import java.util.List;
2728
import java.util.Map;
2829
import java.util.Objects;
30+
import java.util.Set;
2931

3032
import com.google.common.collect.ImmutableList;
3133

@@ -124,7 +126,17 @@ public static SerializationHeader make(TableMetadata metadata, Collection<SSTabl
124126

125127
if (latestColumnsOnly)
126128
{
127-
columns.addAll(metadata.regularAndStaticColumns());
129+
RegularAndStaticColumns droppedColumns = metadata.droppedColumns();
130+
Set<ColumnMetadata> nonDroppedColumnsOfSSTables = new LinkedHashSet<>();
131+
for (SSTableReader sstable : ssTableReaders)
132+
{
133+
for (ColumnMetadata columnMetadata : sstable.header.columns)
134+
{
135+
if (!droppedColumns.contains(columnMetadata))
136+
nonDroppedColumnsOfSSTables.add(columnMetadata);
137+
}
138+
}
139+
columns.addAll(nonDroppedColumnsOfSSTables);
128140
}
129141
else
130142
{

src/java/org/apache/cassandra/schema/TableMetadata.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,21 @@ public RegularAndStaticColumns regularAndStaticAndDroppedColumns()
453453
return regularAndStaticAndDroppedColumns;
454454
}
455455

456+
public RegularAndStaticColumns droppedColumns()
457+
{
458+
RegularAndStaticColumns droppedColumns = regularAndStaticAndDroppedColumns;
459+
Iterator<ColumnMetadata> iterator = regularAndStaticAndDroppedColumns.iterator();
460+
while (iterator.hasNext())
461+
{
462+
ColumnMetadata next = iterator.next();
463+
464+
if (regularAndStaticColumns.contains(next))
465+
droppedColumns = droppedColumns.without(next);
466+
}
467+
468+
return droppedColumns;
469+
}
470+
456471
public Columns regularColumns()
457472
{
458473
return regularAndStaticColumns.regulars;

0 commit comments

Comments
 (0)