Class 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:
  • Method Details

    • addInternalPartitionColumn

      public DeferredViewTable.TableReference addInternalPartitionColumn(@NotNull String name)
    • get

      public abstract Table 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 interface com.fishlib.base.reference.SimpleReference<Table>
      Returns:
    • getDefinition

      public abstract TableDefinition 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

      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

      public Table selectDistinct(SelectColumn[] columns)
      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 interface com.fishlib.base.reference.SimpleReference<Table>