[Bugfix](light-schema-change) Fix bf columns message miss when load (#11367)
This commit is contained in:
@ -47,6 +47,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* This class represents the column-related metadata.
|
||||
@ -711,7 +712,8 @@ public class Column implements Writable {
|
||||
return this.uniqueId;
|
||||
}
|
||||
|
||||
public void setIndexFlag(TColumn tColumn, List<Index> indexes) {
|
||||
public void setIndexFlag(TColumn tColumn, OlapTable olapTable) {
|
||||
List<Index> indexes = olapTable.getIndexes();
|
||||
for (Index index : indexes) {
|
||||
if (index.getIndexType() == IndexDef.IndexType.BITMAP) {
|
||||
List<String> columns = index.getColumns();
|
||||
@ -720,5 +722,9 @@ public class Column implements Writable {
|
||||
}
|
||||
}
|
||||
}
|
||||
Set<String> bfColumns = olapTable.getCopiedBfColumns();
|
||||
if (bfColumns != null && bfColumns.contains(tColumn.getColumnName())) {
|
||||
tColumn.setIsBloomFilterColumn(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -792,7 +792,7 @@ public class OlapScanNode extends ScanNode {
|
||||
if (selectedIndexId != -1) {
|
||||
for (Column col : olapTable.getSchemaByIndexId(selectedIndexId, true)) {
|
||||
TColumn tColumn = col.toThrift();
|
||||
col.setIndexFlag(tColumn, olapTable.getIndexes());
|
||||
col.setIndexFlag(tColumn, olapTable);
|
||||
columnsDesc.add(tColumn);
|
||||
if ((Util.showHiddenColumns() || (!Util.showHiddenColumns() && col.isVisible())) && col.isKey()) {
|
||||
keyColumnNames.add(col.getName());
|
||||
|
||||
@ -192,7 +192,7 @@ public class OlapTableSink extends DataSink {
|
||||
columns.addAll(indexMeta.getSchema().stream().map(Column::getName).collect(Collectors.toList()));
|
||||
for (Column column : indexMeta.getSchema()) {
|
||||
TColumn tColumn = column.toThrift();
|
||||
column.setIndexFlag(tColumn, table.getIndexes());
|
||||
column.setIndexFlag(tColumn, table);
|
||||
columnsDesc.add(tColumn);
|
||||
}
|
||||
TOlapTableIndexSchema indexSchema = new TOlapTableIndexSchema(pair.getKey(), columns,
|
||||
|
||||
Reference in New Issue
Block a user