Skip to content

Commit

Permalink
Fix alter column stats
Browse files Browse the repository at this point in the history
  • Loading branch information
Jibing-Li committed Nov 16, 2023
1 parent fd6a2cb commit 47f9aea
Showing 1 changed file with 6 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

import org.apache.doris.analysis.AlterColumnStatsStmt;
import org.apache.doris.analysis.TableName;
import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.Partition;
import org.apache.doris.common.AnalysisException;
Expand All @@ -35,6 +34,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
Expand Down Expand Up @@ -227,7 +228,6 @@ public static void alterColumnStatistics(AlterColumnStatsStmt alterColumnStatsSt
String dataSize = alterColumnStatsStmt.getValue(StatsType.DATA_SIZE);
ColumnStatisticBuilder builder = new ColumnStatisticBuilder();
String colName = alterColumnStatsStmt.getColumnName();
Column column = objects.table.getColumn(colName);
if (rowCount != null) {
builder.setCount(Double.parseDouble(rowCount));
}
Expand All @@ -239,14 +239,6 @@ public static void alterColumnStatistics(AlterColumnStatsStmt alterColumnStatsSt
if (nullCount != null) {
builder.setNumNulls(Double.parseDouble(nullCount));
}
if (min != null) {
builder.setMinExpr(StatisticsUtil.readableValue(column.getType(), min));
builder.setMinValue(StatisticsUtil.convertToDouble(column.getType(), min));
}
if (max != null) {
builder.setMaxExpr(StatisticsUtil.readableValue(column.getType(), max));
builder.setMaxValue(StatisticsUtil.convertToDouble(column.getType(), max));
}
if (dataSize != null) {
double size = Double.parseDouble(dataSize);
double rows = Double.parseDouble(rowCount);
Expand All @@ -269,8 +261,10 @@ public static void alterColumnStatistics(AlterColumnStatsStmt alterColumnStatsSt
params.put("count", String.valueOf(columnStatistic.count));
params.put("ndv", String.valueOf(columnStatistic.ndv));
params.put("nullCount", String.valueOf(columnStatistic.numNulls));
params.put("min", min == null ? "NULL" : min);
params.put("max", max == null ? "NULL" : max);
params.put("min", min == null ? "NULL" :
Base64.getEncoder().encodeToString(min.getBytes(StandardCharsets.UTF_8)));
params.put("max", max == null ? "NULL" :
Base64.getEncoder().encodeToString(max.getBytes(StandardCharsets.UTF_8)));
params.put("dataSize", String.valueOf(columnStatistic.dataSize));

if (partitionIds.isEmpty()) {
Expand Down

0 comments on commit 47f9aea

Please sign in to comment.