|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.mckoi.database.Table
com.mckoi.database.JoinedTable
com.mckoi.database.VirtualTable
public class VirtualTable
A VirtualTable is a representation of a table whose rows are actually physically stored in another table. In other words, this table just stores pointers to rows in other tables.
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.
| Field Summary | |
|---|---|
protected IntegerVector[] |
row_list
Array of IntegerVectors that represent the rows taken from the given parents. |
| Fields inherited from class com.mckoi.database.JoinedTable |
|---|
column_filter, column_scheme, column_table, reference_list |
| Fields inherited from class com.mckoi.database.Table |
|---|
DEBUG_QUERY |
| Constructor Summary | |
|---|---|
protected |
VirtualTable()
|
| Method Summary | |
|---|---|
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. |
| Methods inherited from class com.mckoi.database.JoinedTable |
|---|
findFieldName, getCellContents, getColumnCount, getDatabase, getDataTableDef, getReferenceTables, getResolvedVariable, hasRootsLocked, lockRoot, printGraph, rowEnumeration, unlockRoot |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected IntegerVector[] row_list
| Constructor Detail |
|---|
protected VirtualTable()
| Method Detail |
|---|
protected void init(Table[] tables)
init in class JoinedTableprotected IntegerVector[] getReferenceRows()
public int getRowCount()
getRowCount in interface TableDataSourcegetRowCount 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
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||