Subclass RowAVLDisk implements rows for CACHED and TEXT tables.
New class derived from Hypersonic SQL code and enhanced in HSQLDB.
@author Thomas Mueller (Hypersonic SQL Group) @version 1.9.0 @since Hypersonic SQL
288289290291292293294295296297298299300
if (node == null) { return null; } if (!node.isInMemory()) { RowAVL row = (RowAVL) get(node.getPos(), false); node = row.getNode(key.getPosition()); accessorList[key.getPosition()] = node; } return node; }
110111112113114115116117118119120
synchronized (this) { id = rowIdSequence++; } Row row = new RowAVL(table, (Object[]) object, id, this); if (tx) { RowAction action = new RowAction(session, table, RowAction.ACTION_INSERT, row, null);
463464465466467468469470471472473
setAccessor(index, null); RowIterator it = table.rowIterator(this); while (it.hasNext()) { RowAVL row = (RowAVL) it.getNextRow(); row.getNode(index.getPosition()).delete(); index.insert(session, this, row); } }
215216217218219220221222223224225
} return row; } else { int id = rowIdSequence++; Row row = new RowAVL(table, (Object[]) object, id, this); if (tx) { RowAction action = new RowAction(session, table, RowAction.ACTION_INSERT, row, null);
289290291292293294295296297298299300301
465466467468469470471472473474475
225226227228229230231232233234235
108109110111112113114115116117118119120121122123124125
public CachedObject getNewCachedObject(Session session, Object object) { Row row = new RowAVL(table, (Object[]) object); if (session != null) { RowAction.addAction(session, RowAction.ACTION_INSERT, table, row); } int id = rowIdSequence++; row.setPos(id); rowIdMap.put(id, row); return row; }
226227228229230231232233234235236237238239
changeToDiskTable(); return getNewCachedObject(session, object); } Row row = new RowAVL(table, (Object[]) object); int id = rowIdSequence++; row.setPos(id); rowIdMap.put(id, row); if (isTempTable) { RowAction.addAction(session, RowAction.ACTION_INSERT, (Table) table, row);