Package com.illumon.iris.db.v2
Class DeferredViewTable.TableReference
java.lang.Object
com.illumon.util.referencecounting.ReferenceCounted
com.illumon.iris.db.util.liveness.ReferenceCountedLivenessNode
com.illumon.iris.db.util.liveness.LivenessArtifact
com.illumon.iris.db.v2.DeferredViewTable.TableReference
- All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable
,com.fishlib.base.reference.SimpleReference<Table>
,LivenessManager
,LivenessNode
,LivenessReferent
,Serializable
- Direct Known Subclasses:
DeferredViewTable.SimpleTableReference
,SourceTable.QueryTableReference
- Enclosing class:
- DeferredViewTable
public abstract static class DeferredViewTable.TableReference
extends LivenessArtifact
implements com.fishlib.base.reference.SimpleReference<Table>
The table reference hides the table underlying table from us.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
clear()
abstract Table
get()
Returns the table in a form that the user can run queries on it.abstract TableDefinition
Get the definition, without instantiating it.abstract long
getSize()
What size should the uninitialized table return.getWithWhere
(SelectFilter... selectFilters) Get the table in a form that the user can run queries on it.selectDistinct
(SelectColumn[] columns) If possible to execute a selectDistinct without instantiating the full table, then do so.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
destroy, dropReference, getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryRetainReference
Methods inherited from class com.illumon.util.referencecounting.ReferenceCounted
append, decrementReferenceCount, incrementReferenceCount, resetReferenceCount, toString, 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.util.liveness.LivenessManager
manage
Methods inherited from interface com.illumon.iris.db.util.liveness.LivenessReferent
getReferentDescription, retainReference
-
Method Details
-
addInternalPartitionColumn
-
get
Returns the table in a form that the user can run queries on it. This may be as simple as returning a reference, but for amorphous tables, this means we need to do the work to instantiate it.- Specified by:
get
in interfacecom.fishlib.base.reference.SimpleReference<Table>
- Returns:
-
getDefinition
Get the definition, without instantiating it.- Returns:
- The definition of the table we are referring to
-
getSize
public abstract long getSize()What size should the uninitialized table return.- Returns:
-
getWithWhere
public DeferredViewTable.TableReference.TableAndRemainingFilters getWithWhere(SelectFilter... selectFilters) Get the table in a form that the user can run queries on it. All of the filters that can be run efficiently should be run before instantiating the full table should be run. Other filters are returned in the remainingFilters field.- Parameters:
selectFilters
- filters to maybe apply before returning the table- Returns:
- the instantiated table and a set of filters that were not applied.
-
selectDistinct
If possible to execute a selectDistinct without instantiating the full table, then do so. Otherwise return null.- Parameters:
columns
- the columns to selectDistinct- Returns:
- null if the operation can not be performed on an uninstantiated table, otherwise a new table with the distinct values from strColumns.
-
clear
public final void clear()- Specified by:
clear
in interfacecom.fishlib.base.reference.SimpleReference<Table>
-