thomasrebele commented on code in PR #6420: URL: https://github.com/apache/hive/pull/6420#discussion_r3073721363
########## standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/model/MColumnStatistics.java: ########## @@ -0,0 +1,268 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hive.metastore.model; + +public abstract class MColumnStatistics { + private String colName; + private String colType; + private String engine; + + private Long longLowValue; + private Long longHighValue; + private Double doubleLowValue; + private Double doubleHighValue; + private String decimalLowValue; + private String decimalHighValue; + private Long numNulls; + private Long numDVs; + private byte[] bitVector = new byte[] { 'H', 'L' }; + private byte[] histogram = new byte[] {}; + private Double avgColLen; + private Long maxColLen; + private Long numTrues; + private Long numFalses; + private long lastAnalyzed; + + public String getColName() { + return colName; + } + + public void setColName(String colName) { + this.colName = colName; + } + + public String getColType() { + return colType; + } + + public void setColType(String colType) { + this.colType = colType; + } + + public Long getNumNulls() { + return numNulls; + } + + public void setNumNulls(long numNulls) { + this.numNulls = numNulls; + } + + public Long getNumDVs() { + return numDVs; + } + + public void setNumDVs(long numDVs) { + this.numDVs = numDVs; + } + + public Double getAvgColLen() { + return avgColLen; + } + + public void setAvgColLen(double avgColLen) { + this.avgColLen = avgColLen; + } + + public Long getMaxColLen() { + return maxColLen; + } + + public void setMaxColLen(long maxColLen) { + this.maxColLen = maxColLen; + } + + public Long getNumTrues() { + return numTrues; + } + + public void setNumTrues(long numTrues) { + this.numTrues = numTrues; + } + + public Long getNumFalses() { + return numFalses; + } + + public void setNumFalses(long numFalses) { + this.numFalses = numFalses; + } + + public long getLastAnalyzed() { + return lastAnalyzed; + } + + public void setLastAnalyzed(long lastAnalyzed) { + this.lastAnalyzed = lastAnalyzed; + } + + public void setBooleanStats(Long numTrues, Long numFalses, Long numNulls) { + this.numTrues = numTrues; + this.numFalses = numFalses; + this.numNulls = numNulls; + } + + public void setLongStats(Long numNulls, Long numNDVs, byte[] bitVector, byte[] histogram, + Long lowValue, Long highValue) { + this.numNulls = numNulls; + this.numDVs = numNDVs; + setBitVector(bitVector); + setHistogram(histogram); + this.longLowValue = lowValue; + this.longHighValue = highValue; + } + + public void setDoubleStats(Long numNulls, Long numNDVs, byte[] bitVector, byte[] histogram, + Double lowValue, Double highValue) { + this.numNulls = numNulls; + this.numDVs = numNDVs; + setBitVector(bitVector); + setHistogram(histogram); + this.doubleLowValue = lowValue; + this.doubleHighValue = highValue; + } + + public void setDecimalStats(Long numNulls, Long numNDVs, byte[] bitVector, byte[] histogram, + String lowValue, String highValue) { + this.numNulls = numNulls; + this.numDVs = numNDVs; + setBitVector(bitVector); + setHistogram(histogram); + this.decimalLowValue = lowValue; + this.decimalHighValue = highValue; + } + + public void setStringStats(Long numNulls, Long numNDVs, byte[] bitVector, Long maxColLen, Double avgColLen) { + this.numNulls = numNulls; + this.numDVs = numNDVs; + setBitVector(bitVector); + this.maxColLen = maxColLen; + this.avgColLen = avgColLen; + } + + public void setBinaryStats(Long numNulls, Long maxColLen, Double avgColLen) { + this.numNulls = numNulls; + this.maxColLen = maxColLen; + this.avgColLen = avgColLen; + } + + public void setDateStats(Long numNulls, Long numNDVs, byte[] bitVector, byte[] histogram, Long lowValue, Long highValue) { Review Comment: There are Sonar warnings about the length of the line. The original methods in MPartitionColumnStatistics and MTableColumnStatistics had them as well. In case I make an update to the PR, I'll fix it, otherwise I would just leave that line (and `setTimestampStats`) as-is. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
