Package io.trino.operator
Class RowReferencePageManager
- java.lang.Object
-
- io.trino.operator.RowReferencePageManager
-
public class RowReferencePageManager extends Object
Page buffering manager that enables access to individual rows via stable row IDs. This allows computation to be built against these row IDs, while still enabling bulk memory optimizations such as compaction and lazy loading behind the scenes. Callers are responsible for explicitly de-referencing any rows that are no longer needed.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRowReferencePageManager.LoadCursorCursor that allows callers to advance through the registered page and dictate whether a specific position should be preserved with a stable row ID.
-
Constructor Summary
Constructors Constructor Description RowReferencePageManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RowReferencePageManager.LoadCursoradd(Page page)voidcompactIfNeeded()voiddereference(long rowId)PagegetPage(long rowId)intgetPosition(long rowId)longsizeOf()
-
-
-
Method Detail
-
add
public RowReferencePageManager.LoadCursor add(Page page)
-
dereference
public void dereference(long rowId)
-
getPage
public Page getPage(long rowId)
-
getPosition
public int getPosition(long rowId)
-
compactIfNeeded
public void compactIfNeeded()
-
sizeOf
public long sizeOf()
-
-