Package com.illumon.iris.db.v2
Class SourceTable
- All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable
,NotificationQueue.Dependency
,Deflatable<Table>
,Table
,LivenessManager
,LivenessNode
,LivenessReferent
,LongSizedDataStructure
,DynamicNode
,DynamicTable
,NotificationStepReceiver
,NotificationStepSource
,SystemicObject
,Serializable
- Direct Known Subclasses:
PartitionAwareSourceTable
,SimpleSourceTable
Basic uncoalesced table that only adds keys.
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.illumon.iris.db.v2.BaseTable
BaseTable.CopyAttributeOperation, BaseTable.ListenerImpl, BaseTable.ShiftAwareListenerImpl, BaseTable.SwapListenerFactory<T extends SwapListenerBase>
Nested classes/interfaces inherited from interface com.illumon.iris.db.tables.Table
Table.AsOfMatchRule, Table.GroupStrategy, Table.RenameFunction
-
Field Summary
Fields inherited from class com.illumon.iris.db.v2.BaseTable
attributes, definition, description, PRINT_SERIALIZED_UPDATE_OVERLAPS, sharedAttributes
Fields inherited from interface com.illumon.iris.db.v2.NotificationStepReceiver
NULL_NOTIFICATION_STEP
Fields inherited from interface com.illumon.iris.db.tables.Table
ACL_ATTRIBUTE, ADD_ONLY_TABLE_ATTRIBUTE, COLUMN_DESCRIPTIONS_ATTRIBUTE, COLUMN_RENDERERS_ATTRIBUTE, CUSTOM_ACTIONS_ATTRIBUTE, DO_NOT_MAKE_REMOTE_ATTRIBUTE, EMPTY_SOURCE_TABLE_ATTRIBUTE, FILTERABLE_COLUMNS_ATTRIBUTE, HIERARCHICAL_CHILDREN_TABLE_MAP_ATTRIBUTE, HIERARCHICAL_SOURCE_INFO_ATTRIBUTE, HIERARCHICAL_SOURCE_TABLE_ATTRIBUTE, INPUT_TABLE_ATTRIBUTE, KEY_COLUMNS_ATTRIBUTE, LAYOUT_HINTS_ATTRIBUTE, MERGED_TABLE_ATTRIBUTE, NON_DISPLAY_TABLE, PLUGIN_NAME, PREDEFINED_ROLLUP_ATTRIBUTE, PREEMPTIVE_VIEWPORT_TYPE, PREPARED_RLL_ATTRIBUTE, PREVIEW_PARENT_TABLE, REVERSE_LOOKUP_ATTRIBUTE, ROLLUP_LEAF_ATTRIBUTE, SNAPSHOT_VIEWPORT_TYPE, SORTABLE_COLUMNS_ATTRIBUTE, SORTED_COLUMNS_ATTRIBUTE, SYSTEMIC_TABLE_ATTRIBUTE, TABLE_DESCRIPTION_ATTRIBUTE, TOTALS_TABLE_ATTRIBUTE, TREE_TABLE_FILTER_REVERSE_LOOKUP_ATTRIBUTE, UNIQUE_KEYS_ATTRIBUTE, UNTRACKED_LASTBY_TABLE_ATTRIBUTE, VIEWPORT_TYPE_ATTRIBUTE, ZERO_LENGTH_TABLE_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
destroy()
Attempt to release (destructively when necessary) resources held by this object.void
protected final QueryTable
Produce the actual coalesced result table, suitable for caching.protected Collection<TableLocationKey>
filterLocationKeys
(Collection<TableLocationKey> foundLocationKeys) Hook to allow found location keys to be filtered (e.g.protected Collection<TableLocation>
filterLocations
(Collection<TableLocation> foundLocations) Hook to allow found locations to be filtered (e.g.protected final void
final void
refresh()
This is only for unit tests, at this time.static SafeCloseable
setMapEmptyStringsToNull
(boolean mapEmptyStringsToNull) Temporarily change if the table should replace String columns with ones that will automatically map empty strings to thenull
value.Methods inherited from class com.illumon.iris.db.v2.RedefinableTable
dropColumns, redefine, redefine, renameColumns, updateView, view
Methods inherited from class com.illumon.iris.db.v2.UncoalescedTable
absSumBy, aj, applyToAllBy, avgBy, by, byExternal, coalesce, countBy, exactJoin, firstBy, flatten, getCoalesced, getColumn, getColumnSource, getColumnSourceMap, getColumnSources, getIndex, getRecord, getSubTable, head, headBy, headPct, isFlat, join, lastBy, lazyUpdate, leftJoin, listenForDirectUpdates, listenForUpdates, listenForUpdates, listenForUpdates, listenForUpdatesUncoalesced, maxBy, medianBy, minBy, naturalJoin, preemptiveSnapshotTable, preemptiveUpdatesTable, raj, removeDirectUpdateListener, removeUpdateListener, removeUpdateListener, removeUpdateListenerUncoalesced, reverse, rollup, select, selectDistinct, setCoalesced, silent, size, sizeForInstrumentation, slice, snapshot, snapshotHistory, snapshotIncremental, sort, stdBy, sumBy, tail, tailBy, tailPct, treeTable, ungroup, update, updateBy, validateSelect, varBy, wavgBy, where, whereIn, wouldMatch, wsumBy
Methods inherited from class com.illumon.iris.db.v2.BaseTable
addParentReference, append, awaitUpdate, awaitUpdate, clearSortingRestrictions, copy, copyAttributes, copyAttributes, createSwapListenerIfRefreshing, getAttribute, getAttributeNames, getAttributes, getDefinition, getDescription, getLastNotificationStep, getNotificationQueue, hasAttribute, initializeWithSnapshot, isAddOnly, isAddOnly, isFailed, isRefreshing, isSystemicObject, layoutHints, markSystemic, notifyListeners, notifyListenersOnError, restrictSortTo, satisfied, setAttribute, setColumnRenderers, setLastNotificationStep, setRefreshing, setTotalsTable, shouldCopyAttribute, toString, withColumnDescription, withKeys, withTableDescription, withUniqueKeys
Methods inherited from class com.illumon.iris.db.util.liveness.LivenessArtifact
manageWithCurrentScope, unmanage, unmanage
Methods inherited from class com.illumon.iris.db.util.liveness.ReferenceCountedLivenessNode
dropReference, getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryRetainReference
Methods inherited from class com.illumon.util.referencecounting.ReferenceCounted
decrementReferenceCount, incrementReferenceCount, resetReferenceCount, tryDecrementReferenceCount, tryIncrementReferenceCount
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.v2.DynamicTable
newModifiedColumnSet, newModifiedColumnSetIdentityTransformer, newModifiedColumnSetIdentityTransformer, newModifiedColumnSetTransformer, newModifiedColumnSetTransformer, newModifiedColumnSetTransformer, notifyListeners
Methods inherited from interface com.illumon.iris.db.util.liveness.LivenessManager
manage, tryManage
Methods inherited from interface com.illumon.iris.db.util.liveness.LivenessReferent
dropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReference
Methods inherited from interface com.illumon.iris.db.util.LongSizedDataStructure
intSize, intSize
Methods inherited from interface com.illumon.iris.db.tables.Table
absSumBy, absSumBy, absSumBy, aj, aj, aj, aj, aj, apply, applyToAllBy, applyToAllBy, applyToAllBy, avgBy, avgBy, avgBy, by, by, by, by, by, by, byExternal, byteColumnIterator, characterColumnIterator, clearSortingRestrictions, close, columnIterator, countBy, countBy, countBy, dateTimeColumnAsNanos, dateTimeColumnAsNanos, deflate, deflate, doubleColumnIterator, dropColumnFormats, dropColumns, exactJoin, exactJoin, exactJoin, exactJoin, firstBy, firstBy, firstBy, floatColumnIterator, formatColumns, formatColumnWhere, formatRowWhere, getAttribute, getAttributeNames, getAttributes, getAttributes, getColumn, getColumns, getColumnSource, getDefinition, getDescription, getMeta, getViewPort, hasAttribute, hasColumns, hasColumns, headBy, headBy, integerColumnIterator, isEmpty, isLive, join, join, join, join, join, join, join, join, join, lastBy, lastBy, lastBy, layoutHints, layoutHints, lazyUpdate, lazyUpdate, leftJoin, leftJoin, leftJoin, leftJoin, leftJoin, longColumnIterator, maxBy, maxBy, maxBy, medianBy, medianBy, medianBy, minBy, minBy, minBy, moveColumns, moveColumns, moveDownColumns, moveUpColumns, naturalJoin, naturalJoin, naturalJoin, naturalJoin, preemptiveSnapshotTable, raj, raj, raj, raj, raj, releaseCachedResources, renameAllColumns, renameColumns, renameColumns, restrictSortTo, rollup, rollup, rollup, rollup, rollup, rollup, rollup, select, select, select, selectDistinct, selectDistinct, selectDistinct, setAttribute, setColumnRenderers, setTotalsTable, shortColumnIterator, snapshot, snapshotIncremental, sort, sort, sortDescending, sortDescending, stdBy, stdBy, stdBy, subscribeToPreemptiveUpdates, sumBy, sumBy, sumBy, supportsPreemptiveSubscription, tailBy, tailBy, ungroup, ungroup, ungroup, ungroupAllBut, update, update, updateBy, updateBy, updateBy, updateBy, updateBy, updateView, updateView, validateSelect, varBy, varBy, varBy, view, view, wavgBy, wavgBy, wavgBy, where, where, where, whereIn, whereIn, whereIn, whereNotIn, whereNotIn, whereOneOf, whereOneOf, whereOneOf, withColumnDescription, withColumnDescription, withKeys, withTableDescription, withUniqueKeys, wouldMatch, wsumBy, wsumBy, wsumBy
-
Method Details
-
disableGrouping
public void disableGrouping() -
refresh
This is only for unit tests, at this time. -
initializeAvailableLocations
protected final void initializeAvailableLocations() -
filterLocations
protected Collection<TableLocation> filterLocations(@NotNull Collection<TableLocation> foundLocations) Hook to allow found locations to be filtered (e.g. according to a where-clause on the partitioning column of a PartitionAwareSourceTable). The default implementation returns its input unmolested.- Parameters:
foundLocations
- A Collection of TableLocations fetched from the table location provider, but not yet incorporated into the table- Returns:
- A sub-Collection of the input
-
filterLocationKeys
protected Collection<TableLocationKey> filterLocationKeys(@NotNull Collection<TableLocationKey> foundLocationKeys) Hook to allow found location keys to be filtered (e.g. according to a where-clause on the partitioning columns of aPartitionAwareSourceTable
. The default implementation returns its input unmolested.- Parameters:
foundLocationKeys
- A collection ofTableLocationKey
s fetched from theTableLocationProvider
, but not yet incorporated into the table- Returns:
- A sub-collection of the input
-
setMapEmptyStringsToNull
Temporarily change if the table should replace String columns with ones that will automatically map empty strings to thenull
value.- Parameters:
mapEmptyStringsToNull
- the new value.- Returns:
- a SafeCloseable to reset the original value.
-
doCoalesce
Description copied from class:UncoalescedTable
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)
.- Specified by:
doCoalesce
in classUncoalescedTable
- Returns:
- The coalesced result table, suitable for caching
-
destroy
protected void destroy()Description copied from class:ReferenceCountedLivenessNode
Attempt to release (destructively when necessary) resources held by this object. This may render the object unusable for subsequent operations. Implementations should be sure to call super.destroy().
This is intended to only ever be used as a side effect of decreasing the reference count to 0.
-