Package app.babylon.table.plans
Class TablePlanAggregate
java.lang.Object
app.babylon.table.plans.TablePlanCommon<TablePlanAggregate>
app.babylon.table.plans.TablePlanAggregate
- All Implemented Interfaces:
TablePlan
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionExecutes this plan against an already-open row supplier.Executes this plan against a configured row source.execute(TableColumnar table) getColumnType(ColumnName columnName) protected TablePlanAggregateself()withAggregate(ColumnName sourceColumnName, Aggregate aggregate) withAggregate(ColumnName sourceColumnName, ColumnName outputColumnName, Aggregate aggregate) withColumnType(ColumnName columnName, Column.Type columnType) withGroupBy(ColumnName... columnNames) Methods inherited from class app.babylon.table.plans.TablePlanCommon
getTableDescription, getTableName, withTableDescription, withTableName
-
Constructor Details
-
TablePlanAggregate
public TablePlanAggregate()
-
-
Method Details
-
withColumnType
-
getColumnType
-
getColumnTypes
-
withGroupBy
-
getGroupByColumns
-
withAggregate
-
withAggregate
public TablePlanAggregate withAggregate(ColumnName sourceColumnName, ColumnName outputColumnName, Aggregate aggregate) -
getAggregateSpecs
-
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.
CSV example:
JDBC example:StreamSource streamSource = ...; TablePlanRead plan = new TablePlanRead(); ReadOptionsCsv options = ReadOptionsCsv.builder().withSeparator(';').build(); try (InputStream inputStream = streamSource.openStream(); RowCursor rowCursor = RowCursors.create(options, inputStream)) { TableColumnar table = plan.execute(rowCursor); }PreparedStatement preparedStatement = ...; TablePlanRead plan = new TablePlanRead(); try (ResultSet resultSet = preparedStatement.executeQuery(); RowCursor rowCursor = new RowCursorResultSet(resultSet)) { TableColumnar table = plan.execute(rowCursor); }- 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.
CSV example:
JDBC example:StreamSource streamSource = ...; TablePlanRead plan = new TablePlanRead(); ReadOptionsCsv options = ReadOptionsCsv.builder().withSeparator(';').build(); TableColumnar table = plan.execute(RowSources.create(options, streamSource));PreparedStatement preparedStatement = ...; TablePlanRead plan = new TablePlanRead(); TableColumnar table = plan.execute(RowSourceResultSet.builder() .withPreparedStatement(preparedStatement) .build());- Parameters:
rowSource- configured source that opens rows for this execution- Returns:
- the resulting table
-
self
- Specified by:
selfin classTablePlanCommon<TablePlanAggregate>
-