/** * Used when a row is deleted as a result of some DML or DDL command. Adds the file space for the * row to the list of free positions. If there exists more than MAX_FREE_COUNT free positions, * then they are probably all too small, so we start a new list. * * <p>todo: This is wrong when deleting lots of records * * <p>Then remove the row from the cache data structures. */ public void remove(int i, PersistentStore store) throws HsqlException { CachedObject r = release(i); int size = r == null ? getStorageSize(i) : r.getStorageSize(); freeBlocks.add(i, size); }