public class VirtualTable extends JoinedTable
We use the VirtualTable to represent temporary tables created from select, join, etc operations.
An important note about VirtualTables: When we perform a 'select' operation on a virtual table, unlike a DataTable that permanently stores information about column cell relations, we must resolve column relations between the sub-set at select time. This involves asking the tables parent(s) for a scheme to describe relations in a sub-set.
Modifier and Type | Field and Description |
---|---|
protected IntegerVector[] |
row_list
Array of IntegerVectors that represent the rows taken from the given
parents.
|
column_filter, column_scheme, column_table, reference_list
DEBUG_QUERY
Modifier | Constructor and Description |
---|---|
protected |
VirtualTable() |
Modifier and Type | Method and Description |
---|---|
protected IntegerVector[] |
getReferenceRows()
Returns the list of IntegerVector that represents the rows that this
VirtualTable references.
|
int |
getRowCount()
Returns the number of rows stored in the table.
|
protected void |
init(Table[] tables)
Helper function for the constructor.
|
protected void |
resolveAllRowsForTableAt(IntegerVector row_set,
int table_num)
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.
|
protected int |
resolveRowForTableAt(int row_number,
int table_num)
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.
|
findFieldName, getCellContents, getColumnCount, getDatabase, getDataTableDef, getReferenceTables, getResolvedVariable, hasRootsLocked, lockRoot, printGraph, rowEnumeration, unlockRoot
all, allColumnMatchesValue, any, columnContainsCell, columnContainsValue, columnMatchesValue, columnMerge, compareCells, Debug, distinct, distinct, dumpTo, emptySelect, exhaustiveSelect, fastFindFieldName, getColumnDefAt, getColumnScheme, getFirstCellContent, getFirstCellContent, getLastCellContent, getLastCellContent, getSingleCellContent, getSingleCellContent, getSystem, getTableAccessState, getTTypeForColumn, getTTypeForColumn, join, orderByColumn, orderByColumn, orderByColumn, orderByColumns, orderedRowList, outside, rangeSelect, selectAll, selectAll, selectFirst, selectLast, selectRange, selectRest, simpleJoin, simpleSelect, singleRowSelect, toMap, toString, union
protected IntegerVector[] row_list
protected void init(Table[] tables)
init
in class JoinedTable
protected IntegerVector[] getReferenceRows()
public int getRowCount()
getRowCount
in interface TableDataSource
getRowCount
in class Table
protected int resolveRowForTableAt(int row_number, int table_num)
JoinedTable
resolveRowForTableAt
in class JoinedTable
protected void resolveAllRowsForTableAt(IntegerVector row_set, int table_num)
JoinedTable
resolveAllRowsForTableAt
in class JoinedTable
Copyright © 2015. All rights reserved.