Class LinearFill
- java.lang.Object
-
- org.apache.iotdb.db.mpp.execution.operator.process.fill.linear.LinearFill
-
- All Implemented Interfaces:
ILinearFill
- Direct Known Subclasses:
DoubleLinearFill,FloatLinearFill,IntLinearFill,LongLinearFill
public abstract class LinearFill extends java.lang.Object implements ILinearFill
The result of Linear Fill functions at timestamp "T" is calculated by performing a linear fitting method on two time series values, one is at the closest timestamp before T, and the other is at the closest timestamp after T. Linear Fill function calculation only supports numeric types including long, int, double and float.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanpreviousIsNull
-
Constructor Summary
Constructors Constructor Description LinearFill()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.iotdb.tsfile.read.common.block.column.Columnfill(org.apache.iotdb.tsfile.read.common.block.column.TimeColumn timeColumn, org.apache.iotdb.tsfile.read.common.block.column.Column valueColumn, long startRowIndex)Before we call this method, we need to make sure the nextValue has been prepared or noMoreNext has been set to truebooleanneedPrepareForNext(long rowIndex, org.apache.iotdb.tsfile.read.common.block.column.Column valueColumn)booleanprepareForNext(long startRowIndex, long endRowIndex, org.apache.iotdb.tsfile.read.common.block.column.TimeColumn nextTimeColumn, org.apache.iotdb.tsfile.read.common.block.column.Column nextValueColumn)
-
-
-
Method Detail
-
fill
public org.apache.iotdb.tsfile.read.common.block.column.Column fill(org.apache.iotdb.tsfile.read.common.block.column.TimeColumn timeColumn, org.apache.iotdb.tsfile.read.common.block.column.Column valueColumn, long startRowIndex)Description copied from interface:ILinearFillBefore we call this method, we need to make sure the nextValue has been prepared or noMoreNext has been set to true- Specified by:
fillin interfaceILinearFill- Parameters:
timeColumn- TimeColumn of valueColumnvalueColumn- valueColumn that need to be filledstartRowIndex- current row index for start time in timeColumn- Returns:
- Value Column that has been filled
-
needPrepareForNext
public boolean needPrepareForNext(long rowIndex, org.apache.iotdb.tsfile.read.common.block.column.Column valueColumn)- Specified by:
needPrepareForNextin interfaceILinearFill- Parameters:
rowIndex- end time of current valueColumn that need to be filledvalueColumn- valueColumn that need to be filled- Returns:
- true if valueColumn can't be filled using current information, and we need to get next TsBlock and then call prepareForNext. false if valueColumn can be filled using current information, and we can directly call fill() function
-
prepareForNext
public boolean prepareForNext(long startRowIndex, long endRowIndex, org.apache.iotdb.tsfile.read.common.block.column.TimeColumn nextTimeColumn, org.apache.iotdb.tsfile.read.common.block.column.Column nextValueColumn)- Specified by:
prepareForNextin interfaceILinearFill- Parameters:
startRowIndex- row index for start time of nextValueColumnendRowIndex- row index for end time of current valueColumn that need to be fillednextTimeColumn- TimeColumn of next TsBlocknextValueColumn- Value Column of next TsBlock- Returns:
- true if we get enough information to fill current column, and we can stop getting next TsBlock and calling prepareForNext. false if we still don't get enough information to fill current column, and still need to keep getting next TsBlock and then call prepareForNext
-
-