RowSetNavigatorDataTable.java (hsqldb-2.6.0) | : | RowSetNavigatorDataTable.java (hsqldb-2.6.1) | ||
---|---|---|---|---|
skipping to change at line 51 | skipping to change at line 51 | |||
import org.hsqldb.lib.ArrayUtil; | import org.hsqldb.lib.ArrayUtil; | |||
import org.hsqldb.persist.PersistentStore; | import org.hsqldb.persist.PersistentStore; | |||
import org.hsqldb.result.ResultMetaData; | import org.hsqldb.result.ResultMetaData; | |||
import org.hsqldb.rowio.RowInputInterface; | import org.hsqldb.rowio.RowInputInterface; | |||
import org.hsqldb.rowio.RowOutputInterface; | import org.hsqldb.rowio.RowOutputInterface; | |||
/** | /** | |||
* Implementation of RowSetNavigator using a table as the data store. | * Implementation of RowSetNavigator using a table as the data store. | |||
* | * | |||
* @author Fred Toussi (fredt@users dot sourceforge.net) | * @author Fred Toussi (fredt@users dot sourceforge.net) | |||
* @version 2.6.0 | * @version 2.6.1 | |||
* @since 1.9.0 | * @since 1.9.0 | |||
*/ | */ | |||
public class RowSetNavigatorDataTable extends RowSetNavigatorData { | public class RowSetNavigatorDataTable extends RowSetNavigatorData { | |||
public TableBase table; | public TableBase table; | |||
public PersistentStore store; | public PersistentStore store; | |||
RowIterator iterator; | RowIterator iterator; | |||
Row currentRow; | Row currentRow; | |||
Object[] tempRowData; | Object[] tempRowData; | |||
public RowSetNavigatorDataTable(Session session, | public RowSetNavigatorDataTable(Session session, | |||
QuerySpecification select) { | QuerySpecification select) { | |||
super(session); | super(session, select.sortAndSlice); | |||
rangePosition = select.resultRangePosition; | rangePosition = select.resultRangePosition; | |||
visibleColumnCount = select.indexLimitVisible; | visibleColumnCount = select.indexLimitVisible; | |||
table = select.resultTable.duplicate(); | table = select.resultTable.duplicate(); | |||
store = session.sessionData.getNewResultRowStore(table, | store = session.sessionData.getNewResultRowStore(table, | |||
!select.isAggregated); | !select.isAggregated); | |||
table.store = store; | table.store = store; | |||
isAggregate = select.isAggregated; | isAggregate = select.isAggregated; | |||
isSimpleAggregate = select.isAggregated && !select.isGrouped; | isSimpleAggregate = select.isAggregated && !select.isGrouped; | |||
reindexTable = select.isGrouped; | reindexTable = select.isGrouped; | |||
skipping to change at line 100 | skipping to change at line 100 | |||
navigator.reset(); | navigator.reset(); | |||
while (navigator.next()) { | while (navigator.next()) { | |||
add(navigator.getCurrent()); | add(navigator.getCurrent()); | |||
} | } | |||
} | } | |||
public RowSetNavigatorDataTable(Session session, | public RowSetNavigatorDataTable(Session session, | |||
QueryExpression queryExpression) { | QueryExpression queryExpression) { | |||
super(session); | super(session, queryExpression.sortAndSlice); | |||
table = queryExpression.resultTable.duplicate(); | table = queryExpression.resultTable.duplicate(); | |||
visibleColumnCount = table.getColumnCount(); | visibleColumnCount = table.getColumnCount(); | |||
store = session.sessionData.getNewResultRowStore(table, true); | store = session.sessionData.getNewResultRowStore(table, true); | |||
table.store = store; | table.store = store; | |||
mainIndex = queryExpression.mainIndex; | mainIndex = queryExpression.mainIndex; | |||
fullIndex = queryExpression.fullIndex; | fullIndex = queryExpression.fullIndex; | |||
} | } | |||
public RowSetNavigatorDataTable(Session session, Table table) { | public RowSetNavigatorDataTable(Session session, Table table) { | |||
super(session); | super(session, SortAndSlice.noSort); | |||
this.table = table; | this.table = table; | |||
visibleColumnCount = table.getColumnCount(); | visibleColumnCount = table.getColumnCount(); | |||
mainIndex = table.getPrimaryIndex(); | mainIndex = table.getPrimaryIndex(); | |||
fullIndex = table.getFullIndex(session); | fullIndex = table.getFullIndex(session); | |||
store = table.getRowStore(session); | store = table.getRowStore(session); | |||
this.size = (int) store.elementCount(); | size = (int) store.elementCount(); | |||
reset(); | reset(); | |||
} | } | |||
public void sortFull() { | public void sortFull() { | |||
if (reindexTable) { | if (reindexTable) { | |||
store.indexRows((Session) session); | store.indexRows((Session) session); | |||
} | } | |||
End of changes. 5 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added |