Class TickSuppressor
-
Method Summary
Modifier and TypeMethodDescriptionstatic Table
For shift aware listeners, the modified column set cannot mark particular rows and columns dirty; only all of the columns in the modified rows.static Table
removeSpuriousModifications
(Table input) Removes spurious modifications from an update.
-
Method Details
-
convertModificationsToAddsAndRemoves
For shift aware listeners, the modified column set cannot mark particular rows and columns dirty; only all of the columns in the modified rows. However, rows can be both removed and added and those rows do not affect the modified column set.If you have a table that has a small number of modified rows with many modified columns; and join on a right-hand side that modifies many rows, but few columns; downstream operations must treat all rows and columns in the cross product as modified.
This utility function will convert all modified rows to added and removed rows, such that downstream operations can modify rows without additionally marking the columns of this table dirty.
- Parameters:
input
- an input table- Returns:
- an output table that will produce no modified rows, but rather adds and removes instead
-
removeSpuriousModifications
Removes spurious modifications from an update.The Deephaven query engine guarantees that any row or column that has been modified, must be marked modified in an update. However, for efficiency, it does not guarantee that only rows with changed data are marked as modified. There are cases where a query writer would like to remove spurious modifications. For example if a downstream listener is sending network messages eliminating additional messages may be worthwhile.
This function produces a new query table with the same contents as the original query table. For each modified row and column, if a row has not actually been modified or a column has no modifications; then remove the modification from the downstream update.
- Parameters:
input
- an input table- Returns:
- an output table where the set of modified rows and columns is restricted to cells where current and previous values are not identical
-