Class NaturallyJoinedTable

All Implemented Interfaces:
TableDataSource

public final class NaturallyJoinedTable extends JoinedTable
A table that is the cartesian product of two tables. This provides better memory-use and efficiency than a materialized table backed by a VirtualTable.
Author:
Tobias Downer
  • Constructor Details

    • NaturallyJoinedTable

      public NaturallyJoinedTable(Table left, Table right)
      Constructs the table.
  • Method Details

    • getRowCount

      public int getRowCount()
      Description copied from class: Table
      Returns the number of rows stored in the table.
      Specified by:
      getRowCount in interface TableDataSource
      Specified by:
      getRowCount in class Table
    • resolveRowForTableAt

      protected int resolveRowForTableAt(int row_number, int table_num)
      Description copied from class: JoinedTable
      Given a row and a table index (to a parent reference table), this will return the row index in the given parent table for the given row.
      Specified by:
      resolveRowForTableAt in class JoinedTable
    • resolveAllRowsForTableAt

      protected void resolveAllRowsForTableAt(IntegerVector row_set, int table_num)
      Description copied from class: JoinedTable
      Given an IntegerVector that represents a list of pointers to rows in this table, this resolves the rows to row indexes in the given parent table. This method changes the 'row_set' IntegerVector object.
      Specified by:
      resolveAllRowsForTableAt in class JoinedTable