Skip to content

Commit

Permalink
rename "queried" to "required" since it stopped being only queried co…
Browse files Browse the repository at this point in the history
…lumns a long time ago
  • Loading branch information
jbellis committed Nov 22, 2024
1 parent eadc3ab commit 8007a68
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
import org.apache.cassandra.db.transform.Transformation;
import org.apache.cassandra.exceptions.RequestExecutionException;
import org.apache.cassandra.index.Index;
import org.apache.cassandra.index.sai.utils.RowWithSourceTable;
import org.apache.cassandra.io.sstable.format.RowIndexEntry;
import org.apache.cassandra.io.sstable.format.SSTableReader;
import org.apache.cassandra.io.sstable.format.SSTableReadsListener;
Expand Down Expand Up @@ -849,7 +848,7 @@ public void onPartitionClose()

private boolean queriesMulticellType()
{
for (ColumnMetadata column : columnFilter().queriedColumns())
for (ColumnMetadata column : columnFilter().requiredColumns())
{
if (column.type.isMultiCell())
return true;
Expand Down Expand Up @@ -1008,7 +1007,7 @@ private ClusteringIndexNamesFilter reduceFilter(ClusteringIndexNamesFilter filte
// the row exists even if all the other columns are deleted.
// COMPACT tables do not have primary key liveness and by consequence we are forced to get all the fetched columns to ensure that
// we can return the correct result if the queried columns are deleted on another node but one of the non-queried columns is not.
RegularAndStaticColumns columns = metadata().isCompactTable() ? columnFilter().fetchedColumns() : columnFilter().queriedColumns();
RegularAndStaticColumns columns = metadata().isCompactTable() ? columnFilter().fetchedColumns() : columnFilter().requiredColumns();

NavigableSet<Clustering<?>> clusterings = filter.requestedRows();

Expand Down
96 changes: 48 additions & 48 deletions src/java/org/apache/cassandra/db/filter/ColumnFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,9 @@ boolean fetchesAllColumns(boolean isStatic)
}

@Override
RegularAndStaticColumns getFetchedColumns(TableMetadata metadata, RegularAndStaticColumns queried)
RegularAndStaticColumns getFetchedColumns(TableMetadata metadata, RegularAndStaticColumns required)
{
var merged = queried.regulars.mergeTo(metadata.regularColumns());
var merged = required.regulars.mergeTo(metadata.regularColumns());
return new RegularAndStaticColumns(metadata.staticColumns(), merged);
}
},
Expand All @@ -123,10 +123,10 @@ boolean fetchesAllColumns(boolean isStatic)
}

@Override
RegularAndStaticColumns getFetchedColumns(TableMetadata metadata, RegularAndStaticColumns queried)
RegularAndStaticColumns getFetchedColumns(TableMetadata metadata, RegularAndStaticColumns required)
{
var merged = queried.regulars.mergeTo(metadata.regularColumns());
return new RegularAndStaticColumns(queried.statics, merged);
var merged = required.regulars.mergeTo(metadata.regularColumns());
return new RegularAndStaticColumns(required.statics, merged);
}
},

Expand All @@ -150,9 +150,9 @@ boolean areAllFetchedColumnsQueried()
}

@Override
RegularAndStaticColumns getFetchedColumns(TableMetadata metadata, RegularAndStaticColumns queried)
RegularAndStaticColumns getFetchedColumns(TableMetadata metadata, RegularAndStaticColumns required)
{
return queried;
return required;
}
};

Expand All @@ -178,10 +178,10 @@ boolean areAllFetchedColumnsQueried()
* Returns the columns that must be fetched to answer the query.
*
* @param metadata the table metadata
* @param queried the queried columns
* @param required the queried columns
* @return the columns that must be fetched
*/
abstract RegularAndStaticColumns getFetchedColumns(TableMetadata metadata, RegularAndStaticColumns queried);
abstract RegularAndStaticColumns getFetchedColumns(TableMetadata metadata, RegularAndStaticColumns required);
}

/**
Expand Down Expand Up @@ -270,7 +270,7 @@ public static ColumnFilter selection(RegularAndStaticColumns columns)
* only the queried ones.
*/
public static ColumnFilter selection(TableMetadata metadata,
RegularAndStaticColumns queried,
RegularAndStaticColumns required,
boolean returnStaticContentOnPartitionWithNoRows)
{
// pre CASSANDRA-10657 (3.4-), when fetchAll is enabled, queried columns are not considered at all, and it
Expand All @@ -283,17 +283,17 @@ public static ColumnFilter selection(TableMetadata metadata,
// pre CASSANDRA-12768 (4.0-) all static columns should be fetched along with all regular columns.
if (isUpgradingFromVersionLowerThan40())
{
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_COLUMNS, metadata, queried, null);
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_COLUMNS, metadata, required, null);
}

// pre CASSANDRA-16686 (4.0-RC2-) static columns were not fetched unless queried which led to some wrong
// results for some queries
if (!returnStaticContentOnPartitionWithNoRows || isUpgradingFromVersionLowerThan40RC2())
{
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_REGULARS_AND_QUERIED_STATICS_COLUMNS, metadata, queried, null);
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_REGULARS_AND_QUERIED_STATICS_COLUMNS, metadata, required, null);
}

return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_COLUMNS, metadata, queried, null);
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_COLUMNS, metadata, required, null);
}

/**
Expand All @@ -308,7 +308,7 @@ public static ColumnFilter selection(TableMetadata metadata,
* <p>
* Note that this is in general not all the columns that are fetched internally (see {@link #fetchedColumns}).
*/
public abstract RegularAndStaticColumns queriedColumns();
public abstract RegularAndStaticColumns requiredColumns();

/**
* Whether all the (regular or static) columns are fetched by this filter.
Expand Down Expand Up @@ -484,7 +484,7 @@ public static class Builder
*/
private final boolean returnStaticContentOnPartitionWithNoRows;

private RegularAndStaticColumns.Builder queriedBuilder;
private RegularAndStaticColumns.Builder requiredBuilder;

private List<ColumnSubselection> subSelections;

Expand Down Expand Up @@ -519,9 +519,9 @@ private Builder addInternal(ColumnMetadata c)
if (c.isPrimaryKeyColumn())
return this;

if (queriedBuilder == null)
queriedBuilder = RegularAndStaticColumns.builder();
queriedBuilder.add(c);
if (requiredBuilder == null)
requiredBuilder = RegularAndStaticColumns.builder();
requiredBuilder.add(c);
return this;
}

Expand Down Expand Up @@ -550,12 +550,12 @@ public ColumnFilter build()
{
boolean isFetchAll = metadata != null;

RegularAndStaticColumns queried = queriedBuilder == null ? null : queriedBuilder.build();
RegularAndStaticColumns required = requiredBuilder == null ? null : requiredBuilder.build();

// It's only ok to have queried == null in ColumnFilter if isFetchAll. So deal with the case of a selectionBuilder
// with nothing selected (we can at least happen on some backward compatible queries - CASSANDRA-10471).
if (!isFetchAll && queried == null)
queried = RegularAndStaticColumns.NONE;
if (!isFetchAll && required == null)
required = RegularAndStaticColumns.NONE;

SortedSetMultimap<ColumnIdentifier, ColumnSubselection> s = buildSubSelections();

Expand All @@ -573,28 +573,28 @@ public ColumnFilter build()
// filters when the cluster contains 3.4- nodes. We do that by forcibly setting queried to null.
//
// see CASSANDRA-10657, CASSANDRA-15833, CASSANDRA-16415
if (queried == null || isUpgradingFromVersionLowerThan34())
if (required == null || isUpgradingFromVersionLowerThan34())
{
return new WildCardColumnFilter(metadata.regularAndStaticColumns());
}

// pre CASSANDRA-12768 (4.0-) all static columns should be fetched along with all regular columns.
if (isUpgradingFromVersionLowerThan40())
{
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_COLUMNS, metadata, queried, s);
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_COLUMNS, metadata, required, s);
}

// pre CASSANDRA-16686 (4.0-RC2-) static columns where not fetched unless queried witch lead to some wrong results
// for some queries
if (!returnStaticContentOnPartitionWithNoRows || isUpgradingFromVersionLowerThan40RC2())
{
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_REGULARS_AND_QUERIED_STATICS_COLUMNS, metadata, queried, s);
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_REGULARS_AND_QUERIED_STATICS_COLUMNS, metadata, required, s);
}

return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_COLUMNS, metadata, queried, s);
return SelectionColumnFilter.newInstance(FetchingStrategy.ALL_COLUMNS, metadata, required, s);
}

return SelectionColumnFilter.newInstance(FetchingStrategy.ONLY_QUERIED_COLUMNS, (TableMetadata) null, queried, s);
return SelectionColumnFilter.newInstance(FetchingStrategy.ONLY_QUERIED_COLUMNS, (TableMetadata) null, required, s);
}

private SortedSetMultimap<ColumnIdentifier, ColumnSubselection> buildSubSelections()
Expand Down Expand Up @@ -646,7 +646,7 @@ public RegularAndStaticColumns fetchedColumns()
}

@Override
public RegularAndStaticColumns queriedColumns()
public RegularAndStaticColumns requiredColumns()
{
return fetchedAndQueried;
}
Expand Down Expand Up @@ -744,7 +744,7 @@ public static class SelectionColumnFilter extends ColumnFilter
/**
* The selected columns
*/
private final RegularAndStaticColumns queried;
private final RegularAndStaticColumns required;

/**
* The columns that need to be fetched to be able
Expand All @@ -755,15 +755,15 @@ public static class SelectionColumnFilter extends ColumnFilter

public static SelectionColumnFilter newInstance(FetchingStrategy fetchingStrategy,
TableMetadata metadata,
RegularAndStaticColumns queried,
RegularAndStaticColumns required,
SortedSetMultimap<ColumnIdentifier, ColumnSubselection> subSelections)
{
assert fetchingStrategy != FetchingStrategy.ONLY_QUERIED_COLUMNS || metadata == null;
assert queried != null;
assert required != null;

return new SelectionColumnFilter(fetchingStrategy,
queried,
fetchingStrategy.getFetchedColumns(metadata, queried),
required,
fetchingStrategy.getFetchedColumns(metadata, required),
subSelections);
}

Expand All @@ -775,19 +775,19 @@ public static SelectionColumnFilter newInstance(FetchingStrategy fetchingStrateg
*
* @param fetchingStrategy the strategy used to select the fetched columns
* @param fetched the columns that must be fetched
* @param queried the queried columns
* @param required the queried columns
* @param subSelections the columns sub-selections
*/
public SelectionColumnFilter(FetchingStrategy fetchingStrategy,
RegularAndStaticColumns queried,
RegularAndStaticColumns required,
RegularAndStaticColumns fetched,
SortedSetMultimap<ColumnIdentifier, ColumnSubselection> subSelections)
{
assert queried != null;
assert fetched.includes(queried);
assert required != null;
assert fetched.includes(required);

this.fetchingStrategy = fetchingStrategy;
this.queried = queried;
this.required = required;
this.fetched = fetched;
this.subSelections = subSelections;
}
Expand All @@ -799,9 +799,9 @@ public RegularAndStaticColumns fetchedColumns()
}

@Override
public RegularAndStaticColumns queriedColumns()
public RegularAndStaticColumns requiredColumns()
{
return queried;
return required;
}

@Override
Expand Down Expand Up @@ -833,7 +833,7 @@ public boolean fetches(ColumnMetadata column)
@Override
public boolean fetchedColumnIsQueried(ColumnMetadata column)
{
return fetchingStrategy.areAllFetchedColumnsQueried() || queried.contains(column);
return fetchingStrategy.areAllFetchedColumnsQueried() || required.contains(column);
}

@Override
Expand Down Expand Up @@ -891,15 +891,15 @@ public boolean equals(Object other)
SelectionColumnFilter otherCf = (SelectionColumnFilter) other;

return otherCf.fetchingStrategy == this.fetchingStrategy &&
Objects.equals(otherCf.queried, this.queried) &&
Objects.equals(otherCf.required, this.required) &&
Objects.equals(otherCf.fetched, this.fetched) &&
Objects.equals(otherCf.subSelections, this.subSelections);
}

@Override
public int hashCode()
{
return Objects.hash(fetchingStrategy, queried, fetched, subSelections);
return Objects.hash(fetchingStrategy, required, fetched, subSelections);
}

@Override
Expand All @@ -912,18 +912,18 @@ public String toString()

if (fetchingStrategy == FetchingStrategy.ALL_REGULARS_AND_QUERIED_STATICS_COLUMNS)
{
prefix = queried.statics.isEmpty()
prefix = required.statics.isEmpty()
? "<all regulars>/"
: String.format("<all regulars>+%s/", toString(queried.statics.selectOrderIterator(), false));
: String.format("<all regulars>+%s/", toString(required.statics.selectOrderIterator(), false));
}

return prefix + toString(queried.selectOrderIterator(), false);
return prefix + toString(required.selectOrderIterator(), false);
}

@Override
public String toCQLString()
{
return queried.isEmpty() ? "*" : toString(queried.selectOrderIterator(), true);
return required.isEmpty() ? "*" : toString(required.selectOrderIterator(), true);
}

private String toString(Iterator<ColumnMetadata> columns, boolean cql)
Expand Down Expand Up @@ -978,7 +978,7 @@ public void serialize(ColumnFilter selection, DataOutputPlus out, int version) t

if (!selection.isWildcard())
{
serializeRegularAndStaticColumns(selection.queriedColumns(), out);
serializeRegularAndStaticColumns(selection.requiredColumns(), out);
}

serializeSubSelections(selection.subSelections(), out, version);
Expand Down Expand Up @@ -1100,7 +1100,7 @@ public long serializedSize(ColumnFilter selection, int version)

if (!selection.isWildcard())
{
size += regularAndStaticColumnsSerializedSize(selection.queriedColumns());
size += regularAndStaticColumnsSerializedSize(selection.requiredColumns());
}

size += subSelectionsSerializedSize(selection.subSelections(), version);
Expand Down
2 changes: 1 addition & 1 deletion src/java/org/apache/cassandra/db/rows/BTreeRow.java
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ public Row filter(ColumnFilter filter, DeletionTime activeDeletion, boolean setA

Columns columns = filter.fetchedColumns().columns(isStatic());
Predicate<ColumnMetadata> inclusionTester = columns.inOrderInclusionTester();
Predicate<ColumnMetadata> queriedByUserTester = filter.queriedColumns().columns(isStatic()).inOrderInclusionTester();
Predicate<ColumnMetadata> queriedByUserTester = filter.requiredColumns().columns(isStatic()).inOrderInclusionTester();
final LivenessInfo rowLiveness = newInfo;
return transformAndFilter(newInfo, newDeletion, (cd) -> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public WithOnlyQueriedData(ColumnFilter filter)
@Override
protected RegularAndStaticColumns applyToPartitionColumns(RegularAndStaticColumns columns)
{
return filter.queriedColumns();
return filter.requiredColumns();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ public UnfilteredRowIterator toRowIterator(TableMetadata metadata,
return new AbstractUnfilteredRowIterator(metadata,
key,
DeletionTime.LIVE,
columnFilter.queriedColumns(),
columnFilter.requiredColumns(),
Rows.EMPTY_STATIC_ROW,
false,
EncodingStats.NO_STATS)
Expand Down

0 comments on commit 8007a68

Please sign in to comment.