Package app.babylon.table.plans
Class TablePlanReadJdbc
java.lang.Object
app.babylon.table.plans.TablePlanCommon<TablePlanReadJdbc>
app.babylon.table.plans.TablePlanReadJdbc
- All Implemented Interfaces:
TablePlan
JDBC-specific read plan that materialises a
ResultSet directly into a
TableColumnar.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionExecutes this plan against an already-open row supplier.Executes this plan against a configured row source.getColumnType(ColumnName columnName) protected TablePlanReadJdbcself()withColumnType(ColumnName columnName, Column.Type columnType) withColumnTypes(Map<ColumnName, Column.Type> columnTypes) withSelectedColumn(ColumnName columnName) withSelectedColumns(ColumnName... columnNames) withSelectedColumns(Iterable<ColumnName> columnNames) withSelectedColumns(Collection<ColumnName> columnNames) Methods inherited from class app.babylon.table.plans.TablePlanCommon
getTableDescription, getTableName, withTableDescription, withTableName
-
Constructor Details
-
TablePlanReadJdbc
public TablePlanReadJdbc()
-
-
Method Details
-
withSelectedColumn
-
withSelectedColumns
-
withSelectedColumns
-
withSelectedColumns
-
getSelectedColumns
-
withColumnType
-
withColumnTypes
-
getColumnType
-
getColumnTypes
-
execute
-
execute
Description copied from interface:TablePlanExecutes this plan against an already-open row supplier.Use this lower-level entry point when the caller already owns the live source resource and wants to control its lifetime explicitly.
For CSV, open the input stream, create a
RowCursor, then pass that cursor to this method inside the caller's resource scope. For JDBC, execute the prepared statement, wrap the liveResultSetin a row cursor, and pass it to this method before closing the JDBC resources.- Parameters:
rowCursor- open row supplier to consume- Returns:
- the resulting table
-
execute
Description copied from interface:TablePlanExecutes this plan against a configured row source.This is the simplest high-level entry point when the source should handle opening and closing its own row supplier internally.
For CSV or JDBC, build an appropriate
RowSourceand pass it to this method. The row source owns the open/close lifecycle for each execution.- Parameters:
rowSource- configured source that opens rows for this execution- Returns:
- the resulting table
-
self
- Specified by:
selfin classTablePlanCommon<TablePlanReadJdbc>
-