Package io.deephaven.engine.table.impl
Class UncoalescedTableImpl<IMPL_TYPE extends UncoalescedTable<IMPL_TYPE>>
java.lang.Object
io.deephaven.util.referencecounting.ReferenceCounted
io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
io.deephaven.engine.liveness.ReferenceCountedLivenessNode
io.deephaven.engine.liveness.LivenessArtifact
io.deephaven.engine.table.impl.LiveAttributeMap<Table,IMPL_TYPE>
io.deephaven.engine.table.impl.BaseGridAttributes<Table,IMPL_TYPE>
io.deephaven.engine.table.impl.BaseTable<IMPL_TYPE>
io.deephaven.engine.table.impl.UncoalescedTable<IMPL_TYPE>
io.deephaven.engine.table.impl.UncoalescedTableImpl<IMPL_TYPE>
- Type Parameters:
IMPL_TYPE- the specific type of UncoalescedTable that this class implements, used for covariant return types
- All Implemented Interfaces:
TableOperations<Table,,Table> TableOperationsDefaults<Table,,Table> LogOutputAppendable,LivenessManager,LivenessNode,LivenessReferent,AttributeMap<Table>,GridAttributes<Table>,HasParentPerformanceIds,NotificationStepReceiver,NotificationStepSource,TableDefaults,Table,DynamicNode,NotificationQueue.Dependency,SystemicObject<Table>,LongSizedDataStructure,Serializable
- Direct Known Subclasses:
RedefinableTable
public abstract class UncoalescedTableImpl<IMPL_TYPE extends UncoalescedTable<IMPL_TYPE>>
extends UncoalescedTable<IMPL_TYPE>
The standard implementation of an UncoalescedTable.
When the Table is coalesced, a hard reference is stored to the result. Any future
coalesce() call reuses the same result if it is static or remains live. If the coalesce operation is context
dependent, then you must directly extend UncoalescedTable instead of extending UncoalescedTableImpl.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class io.deephaven.engine.table.impl.BaseTable
BaseTable.CopyAttributeOperation, BaseTable.ListenerImpl, BaseTable.ShiftObliviousListenerImpl, BaseTable.SnapshotControlFactory<T extends ConstructSnapshot.SnapshotControl> -
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.BaseTable
definition, PRINT_SERIALIZED_UPDATE_OVERLAPS, updateGraph, VALIDATE_UPDATE_OVERLAPSFields inherited from interface io.deephaven.engine.table.GridAttributes
COLUMN_DESCRIPTIONS_ATTRIBUTE, DESCRIPTION_ATTRIBUTE, LAYOUT_HINTS_ATTRIBUTE, SORTABLE_COLUMNS_ATTRIBUTEFields inherited from interface io.deephaven.engine.table.impl.NotificationStepReceiver
NULL_NOTIFICATION_STEPFields inherited from interface io.deephaven.engine.table.Table
ADD_ONLY_TABLE_ATTRIBUTE, AGGREGATION_ROW_LOOKUP_ATTRIBUTE, APPEND_ONLY_TABLE_ATTRIBUTE, BARRAGE_PERFORMANCE_KEY_ATTRIBUTE, BARRAGE_SCHEMA_ATTRIBUTE, BLINK_TABLE_ATTRIBUTE, FILTERABLE_COLUMNS_ATTRIBUTE, INITIALLY_EMPTY_COALESCED_SOURCE_TABLE_ATTRIBUTE, INPUT_TABLE_ATTRIBUTE, KEY_COLUMNS_ATTRIBUTE, MERGED_TABLE_ATTRIBUTE, NON_DISPLAY_TABLE, PLUGIN_NAME, PREVIEW_PARENT_TABLE, SNAPSHOT_VIEWPORT_TYPE, SORT_REVERSE_LOOKUP_ATTRIBUTE, SORT_ROW_REDIRECTION_ATTRIBUTE, SORTED_COLUMNS_ATTRIBUTE, SYSTEMIC_TABLE_ATTRIBUTE, TEST_SOURCE_TABLE_ATTRIBUTE, TOTALS_TABLE_ATTRIBUTE, UNIQUE_KEYS_ATTRIBUTEFields inherited from interface io.deephaven.engine.table.impl.TableDefaults
ZERO_LENGTH_TABLE_ARRAYFields inherited from interface io.deephaven.api.TableOperations
AGG_BY_PRESERVE_EMPTY_DEFAULTFields inherited from interface io.deephaven.api.TableOperationsDefaults
ZERO_LENGTH_COLUMNNAME_ARRAY, ZERO_LENGTH_FILTER_ARRAY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedUncoalescedTableImpl(@NotNull TableDefinition definition, @NotNull String description) -
Method Summary
Modifier and TypeMethodDescriptionfinal Tablecoalesce()Explicitly ensure that any work needed to make a table addressable, iterable, or queryable has been done, and return the coalesced child table if appropriate.protected abstract TableProduce the actual coalesced result table, suitable for caching.protected final @Nullable Tableprotected final voidsetCoalesced(Table coalesced) Proactively set the coalesced result table.Methods inherited from class io.deephaven.engine.table.impl.UncoalescedTable
addUpdateListener, addUpdateListener, addUpdateListener, addUpdateListenerUncoalesced, addUpdateListenerUncoalesced, aggAllBy, aggBy, apply, asOfJoin, awaitUpdate, awaitUpdate, byteColumnIterator, characterColumnIterator, columnIterator, doubleColumnIterator, dropColumns, exactJoin, flatten, floatColumnIterator, getColumnSource, getColumnSourceMap, getColumnSources, getRowSet, getSubTable, head, headBy, headPct, integerColumnIterator, isFlat, join, lazyUpdate, longColumnIterator, moveColumns, naturalJoin, objectColumnIterator, objectColumnIterator, partitionBy, partitionedAggBy, rangeJoin, removeUpdateListener, removeUpdateListener, removeUpdateListenerUncoalesced, renameColumns, reverse, rollup, select, selectDistinct, shortColumnIterator, size, sizeForInstrumentation, slice, slicePct, snapshot, snapshotWhen, sort, tail, tailBy, tailPct, tree, ungroup, update, updateBy, updateView, view, where, whereIn, whereNotIn, wouldMatchMethods inherited from class io.deephaven.engine.table.impl.BaseTable
addParentReference, append, assertAddOnly, assertAppendOnly, assertBlink, checkAvailableColumns, copyAttributes, copyAttributes, copySortableColumns, createSnapshotControlIfRefreshing, destroy, getDefinition, getDescription, getLastNotificationStep, getNotificationQueue, getUpdateGraph, hasListeners, initializeWithSnapshot, isAddOnly, isAppendOnly, isBlink, isFailed, isRefreshing, isSystemicObject, markSystemic, notifyListeners, notifyListeners, notifyListenersOnError, parentPerformanceEntryIds, removeBlink, satisfied, setLastNotificationStep, setRefreshing, setTotalsTable, shouldCopyAttribute, toString, withKeys, withUniqueKeysMethods inherited from class io.deephaven.engine.table.impl.BaseGridAttributes
clearSortingRestrictions, getSortableColumns, restrictSortTo, setColumnDescriptions, setLayoutHints, setSortableColumns, withColumnDescription, withColumnDescriptions, withDescriptionMethods inherited from class io.deephaven.engine.table.impl.LiveAttributeMap
copy, copyAttributes, getAttribute, getAttributeKeys, getAttributes, getAttributes, hasAttribute, prepareReturnCopy, prepareReturnThis, published, retainingAttributes, setAttribute, setAttribute, withAttributes, withAttributes, withoutAttributesMethods inherited from class io.deephaven.engine.liveness.LivenessArtifact
manageWithCurrentScopeMethods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode
ensureCleanupOnGC, findAnyManagedReferent, forEachManagedReference, getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanageMethods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
dropReference, tryRetainReferenceMethods inherited from class io.deephaven.util.referencecounting.ReferenceCounted
decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, tryDecrementReferenceCount, tryIncrementReferenceCountMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.AttributeMap
getAttribute, getAttributeKeys, getAttributes, getAttributes, hasAttribute, retainingAttributes, withAttributes, withAttributes, withoutAttributesMethods inherited from interface io.deephaven.engine.table.GridAttributes
clearSortingRestrictions, restrictSortTo, setLayoutHints, withColumnDescription, withColumnDescriptions, withDescriptionMethods inherited from interface io.deephaven.engine.liveness.LivenessManager
manage, tryManage, tryUnmanage, tryUnmanage, unmanage, unmanageMethods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReferenceMethods inherited from interface io.deephaven.util.datastructures.LongSizedDataStructure
intSize, intSizeMethods inherited from interface io.deephaven.engine.updategraph.NotificationQueue.Dependency
getUpdateGraphMethods inherited from interface io.deephaven.engine.table.impl.NotificationStepReceiver
initializeLastNotificationStepMethods inherited from interface io.deephaven.engine.table.impl.TableDefaults
addUpdateListener, applyToAllBy, applyToAllBy, applyToAllBy, close, dropColumnFormats, formatColumns, formatColumnWhere, formatRowWhere, getColumnSource, getColumnSource, getColumnSource, hasColumns, hasColumns, headBy, isEmpty, join, meta, moveColumnsDown, moveColumnsUp, numColumns, partitionBy, releaseCachedResources, renameAllColumns, renameColumns, rollup, rollup, rollup, rollup, rollup, selectDistinct, snapshotWhen, snapshotWhen, tailBy, wouldMatchMethods inherited from interface io.deephaven.api.TableOperationsDefaults
absSumBy, absSumBy, absSumBy, absSumBy, aggAllBy, aggAllBy, aggAllBy, aggBy, aggBy, aggBy, aggBy, aggBy, aggBy, aggBy, aj, aj, avgBy, avgBy, avgBy, avgBy, countBy, countBy, countBy, countBy, dropColumns, dropColumns, exactJoin, exactJoin, firstBy, firstBy, firstBy, firstBy, groupBy, groupBy, groupBy, join, join, join, lastBy, lastBy, lastBy, lastBy, lazyUpdate, maxBy, maxBy, maxBy, maxBy, medianBy, medianBy, medianBy, medianBy, minBy, minBy, minBy, minBy, naturalJoin, naturalJoin, naturalJoin, naturalJoin, naturalJoin, raj, raj, rangeJoin, select, select, selectDistinct, sort, sortDescending, stdBy, stdBy, stdBy, stdBy, sumBy, sumBy, sumBy, sumBy, ungroup, ungroup, ungroup, ungroup, update, updateBy, updateBy, updateBy, updateBy, updateBy, updateBy, updateBy, updateBy, updateView, varBy, varBy, varBy, varBy, view, wavgBy, wavgBy, wavgBy, wavgBy, where, whereIn, whereNotIn, wsumBy, wsumBy, wsumBy, wsumBy
-
Constructor Details
-
UncoalescedTableImpl
protected UncoalescedTableImpl(@NotNull @NotNull TableDefinition definition, @NotNull @NotNull String description)
-
-
Method Details
-
doCoalesce
Produce the actual coalesced result table, suitable for caching.Note that if this table must have listeners registered, etc, setting these up is the implementation's responsibility.
Also note that the implementation should copy attributes, as in
copyAttributes(resultTable, CopyAttributeOperation.Coalesce).- Returns:
- The coalesced result table, suitable for caching
-
coalesce
Description copied from interface:TableExplicitly ensure that any work needed to make a table addressable, iterable, or queryable has been done, and return the coalesced child table if appropriate.- Specified by:
coalescein interfaceTable- Specified by:
coalescein interfaceTableDefaults- Specified by:
coalescein classUncoalescedTable<IMPL_TYPE extends UncoalescedTable<IMPL_TYPE>>- Returns:
- This table, or a fully-coalesced child
-
setCoalesced
Proactively set the coalesced result table. SeedoCoalesce()for the caller's responsibilities. Note that it is an error to call this more than once with a non-null input.- Parameters:
coalesced- The coalesced result table, suitable for caching
-
getCoalesced
-