Class ComparableRecordComparator
- java.lang.Object
-
- org.apache.flink.table.runtime.operators.rank.ComparableRecordComparator
-
- All Implemented Interfaces:
Serializable,Comparator<org.apache.flink.table.data.RowData>,RecordComparator
public final class ComparableRecordComparator extends Object implements RecordComparator
Because it's impossible to restore aRecordComparatorinstance generated byGeneratedRecordComparatorfrom checkpoint snapshot. Hence, we introduceComparableRecordComparatorclass to wrap theGeneratedRecordComparator. AComparableRecordComparatorinstance is serializable and can restore theRecordComparatorfrom the serializedComparableRecordComparator. Besides, theequals(Object)doesn't takeGeneratedRecordComparatorinto account, because the code is not deterministic across different client. Therefore,equals(Object)only compares the meta information used for generating code ofRecordComparator.Note: currently, this class is only used for
RetractableTopNFunction.- See Also:
RetractableTopNFunction, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ComparableRecordComparator(GeneratedRecordComparator generatedRecordComparator, int[] compareKeyPositions, org.apache.flink.table.types.logical.LogicalType[] compareKeyTypes, boolean[] compareOrders, boolean[] nullsIsLast)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompare(org.apache.flink.table.data.RowData o1, org.apache.flink.table.data.RowData o2)booleanequals(Object o)GeneratedRecordComparatorgetGeneratedRecordComparator()inthashCode()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
-
-
-
Constructor Detail
-
ComparableRecordComparator
public ComparableRecordComparator(GeneratedRecordComparator generatedRecordComparator, int[] compareKeyPositions, org.apache.flink.table.types.logical.LogicalType[] compareKeyTypes, boolean[] compareOrders, boolean[] nullsIsLast)
-
-
Method Detail
-
getGeneratedRecordComparator
public GeneratedRecordComparator getGeneratedRecordComparator()
-
compare
public int compare(org.apache.flink.table.data.RowData o1, org.apache.flink.table.data.RowData o2)- Specified by:
comparein interfaceComparator<org.apache.flink.table.data.RowData>- Specified by:
comparein interfaceRecordComparator
-
equals
public boolean equals(Object o)
- Specified by:
equalsin interfaceComparator<org.apache.flink.table.data.RowData>- Overrides:
equalsin classObject
-
-