Class StatisticsObjectConfiguration
- java.lang.Object
-
- org.apache.ignite.internal.processors.query.stat.config.StatisticsObjectConfiguration
-
- All Implemented Interfaces:
Serializable,Comparable<StatisticsObjectConfiguration>
public class StatisticsObjectConfiguration extends Object implements Serializable, Comparable<StatisticsObjectConfiguration>
Describe configuration of the statistic for a database object (e.g. TABLE).- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classStatisticsObjectConfiguration.DiffDifference between current and target configuration.
-
Field Summary
Fields Modifier and Type Field Description static byteDEFAULT_OBSOLESCENCE_MAX_PERCENTRows limit to renew partition statistics in percent.
-
Constructor Summary
Constructors Constructor Description StatisticsObjectConfiguration(StatisticsKey key)Constructor.StatisticsObjectConfiguration(StatisticsKey key, Collection<StatisticsColumnConfiguration> cols, byte maxPartitionObsolescencePercent)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,StatisticsColumnConfiguration>columns()Get active (non tombstone) columns statistics configuration.Map<String,StatisticsColumnConfiguration>columnsAll()Get configurations of all statistic columns includes tombstone configuration objects (dropped columns).intcompareTo(@NotNull StatisticsObjectConfiguration o)Compare only configuration from the same branch.static StatisticsObjectConfiguration.Diffdiff(StatisticsObjectConfiguration oldCfg, StatisticsObjectConfiguration newCfg)Calculate diff between two configuration.StatisticsObjectConfigurationdropColumns(Set<String> dropColNames)Creates new configuration object for drop specified columns from current configuration.booleanequals(Object o)inthashCode()StatisticsKeykey()Get database object key (schema and name).bytemaxPartitionObsolescencePercent()static StatisticsObjectConfigurationmerge(@NotNull StatisticsObjectConfiguration oldCfg, @NotNull StatisticsObjectConfiguration newCfg)Merge configuration changes with existing configuration.StatisticsObjectConfigurationrefresh(Set<String> refreshCols)Creates new configuration object to refresh statistic with current configuration.StringtoString()
-
-
-
Field Detail
-
DEFAULT_OBSOLESCENCE_MAX_PERCENT
public static final byte DEFAULT_OBSOLESCENCE_MAX_PERCENT
Rows limit to renew partition statistics in percent.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
StatisticsObjectConfiguration
public StatisticsObjectConfiguration(StatisticsKey key, Collection<StatisticsColumnConfiguration> cols, byte maxPartitionObsolescencePercent)
Constructor.- Parameters:
key- Statistics key.cols- Column statistics configuration.maxPartitionObsolescencePercent- Maximum number of changed rows per partition.
-
StatisticsObjectConfiguration
public StatisticsObjectConfiguration(StatisticsKey key)
Constructor.- Parameters:
key- Statistics key.
-
-
Method Detail
-
merge
public static StatisticsObjectConfiguration merge(@NotNull @NotNull StatisticsObjectConfiguration oldCfg, @NotNull @NotNull StatisticsObjectConfiguration newCfg)
Merge configuration changes with existing configuration.- Parameters:
oldCfg- Previous configuration.newCfg- Contains target configuration changes.- Returns:
- merged configuration.
-
dropColumns
public StatisticsObjectConfiguration dropColumns(Set<String> dropColNames)
Creates new configuration object for drop specified columns from current configuration. Marks dropped columns as tombstone.- Parameters:
dropColNames- Set of dropped columns.- Returns:
- Result configuration object.
-
refresh
public StatisticsObjectConfiguration refresh(Set<String> refreshCols)
Creates new configuration object to refresh statistic with current configuration.- Parameters:
refreshCols- Set of columns to refresh, ifnullor empty - all columns will be refreshed.- Returns:
- Result configuration object.
-
diff
public static StatisticsObjectConfiguration.Diff diff(StatisticsObjectConfiguration oldCfg, StatisticsObjectConfiguration newCfg)
Calculate diff between two configuration.- Parameters:
oldCfg- Current configuration.newCfg- Target configuration.- Returns:
- Configurations differences.
-
key
public StatisticsKey key()
Get database object key (schema and name).- Returns:
- statistic key.
-
columnsAll
public Map<String,StatisticsColumnConfiguration> columnsAll()
Get configurations of all statistic columns includes tombstone configuration objects (dropped columns).- Returns:
- statistic key.
-
columns
public Map<String,StatisticsColumnConfiguration> columns()
Get active (non tombstone) columns statistics configuration.- Returns:
- Map column name to column statistics configuration.
-
maxPartitionObsolescencePercent
public byte maxPartitionObsolescencePercent()
- Returns:
- Maximum number of changed rows per partition.
-
compareTo
public int compareTo(@NotNull @NotNull StatisticsObjectConfiguration o)Compare only configuration from the same branch. I.e. can't correctly compare Cfg(A=v1,B=v3) vs Cfg(A=v2,B=v1) Cfg(A=v1,B=v3) vs Cfg(A=v1,C=v2) because there is no changes chain to get one from another.- Specified by:
compareToin interfaceComparable<StatisticsObjectConfiguration>- Parameters:
o- Other configuration to compare.- Returns:
- Comparison result.
-
-