Package app.babylon.table.io
Class RowCursorResultSet
java.lang.Object
app.babylon.table.io.RowCursorResultSet
- All Implemented Interfaces:
RowCursor,AutoCloseable
Supplies rows from a caller-owned
ResultSet.
This supplier adapts a caller-owned ResultSet. Closing the supplier
is a no-op; the caller remains responsible for the lifecycle of the
underlying JDBC resources.
Example:
Connection connection = ...;
try (PreparedStatement statement = connection
.prepareStatement("select city, amount from trades where trade_date >= ?"))
{
statement.setDate(1, java.sql.Date.valueOf("2026-01-01"));
try (ResultSet resultSet = statement.executeQuery())
{
RowCursor supplier = new RowCursorResultSet(resultSet);
ColumnDefinition[] columns = supplier.columns();
while (supplier.next())
{
ByteStringSlices row = supplier.current();
}
}
}
This implementation is a demonstration of what is possible and the likely
structure given the ResultSet API. Different drivers may still have quirks
that require special implementations.-
Constructor Details
-
RowCursorResultSet
-
-
Method Details
-
columns
Description copied from interface:RowCursorReturns source-native column definitions when the physical source has them.Line-oriented sources normally return no definitions; their logical columns are detected later from the row stream.
-
next
public boolean next() -
current
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceRowCursor- Throws:
SQLException
-