Search in sources :

Example 6 with OneRowActionListener

use of io.crate.execution.support.OneRowActionListener in project crate by crate.

the class AlterBlobTablePlan method executeOrFail.

@Override
public void executeOrFail(DependencyCarrier dependencies, PlannerContext plannerContext, RowConsumer consumer, Row params, SubQueryResults subQueryResults) {
    Function<? super Symbol, Object> eval = x -> SymbolEvaluator.evaluate(plannerContext.transactionContext(), plannerContext.nodeContext(), x, params, subQueryResults);
    TableInfo tableInfo = analyzedAlterTable.tableInfo();
    AlterTable<Object> alterTable = analyzedAlterTable.alterTable().map(eval);
    TableParameter tableParameter = getTableParameter(alterTable, TableParameters.ALTER_BLOB_TABLE_PARAMETERS);
    maybeRaiseBlockedException(tableInfo, tableParameter.settings());
    BoundAlterTable stmt = new BoundAlterTable(tableInfo, null, tableParameter, true, false);
    dependencies.alterTableOperation().executeAlterTable(stmt).whenComplete(new OneRowActionListener<>(consumer, rCount -> new Row1(rCount == null ? -1 : rCount)));
}
Also used : AlterTable(io.crate.sql.tree.AlterTable) TableParameter(io.crate.analyze.TableParameter) TableInfo(io.crate.metadata.table.TableInfo) BoundAlterTable(io.crate.analyze.BoundAlterTable) Function(java.util.function.Function) TableParameters(io.crate.analyze.TableParameters) RowConsumer(io.crate.data.RowConsumer) DependencyCarrier(io.crate.planner.DependencyCarrier) AnalyzedAlterBlobTable(io.crate.analyze.AnalyzedAlterBlobTable) AlterTablePlan.getTableParameter(io.crate.planner.node.ddl.AlterTablePlan.getTableParameter) SymbolEvaluator(io.crate.analyze.SymbolEvaluator) Row(io.crate.data.Row) Symbol(io.crate.expression.symbol.Symbol) PlannerContext(io.crate.planner.PlannerContext) Plan(io.crate.planner.Plan) SubQueryResults(io.crate.planner.operators.SubQueryResults) AlterTablePlan.maybeRaiseBlockedException(io.crate.planner.node.ddl.AlterTablePlan.maybeRaiseBlockedException) OneRowActionListener(io.crate.execution.support.OneRowActionListener) Row1(io.crate.data.Row1) Row1(io.crate.data.Row1) BoundAlterTable(io.crate.analyze.BoundAlterTable) TableParameter(io.crate.analyze.TableParameter) AlterTablePlan.getTableParameter(io.crate.planner.node.ddl.AlterTablePlan.getTableParameter) TableInfo(io.crate.metadata.table.TableInfo)

Example 7 with OneRowActionListener

use of io.crate.execution.support.OneRowActionListener in project crate by crate.

the class AlterUserPlan method executeOrFail.

@Override
public void executeOrFail(DependencyCarrier dependencies, PlannerContext plannerContext, RowConsumer consumer, Row params, SubQueryResults subQueryResults) throws Exception {
    SecureHash newPassword = UserActions.generateSecureHash(alterUser.properties(), params, plannerContext.transactionContext(), plannerContext.nodeContext());
    userManager.alterUser(alterUser.userName(), newPassword).whenComplete(new OneRowActionListener<>(consumer, rCount -> new Row1(rCount == null ? -1 : rCount)));
}
Also used : RowConsumer(io.crate.data.RowConsumer) DependencyCarrier(io.crate.planner.DependencyCarrier) AnalyzedAlterUser(io.crate.analyze.AnalyzedAlterUser) UserActions(io.crate.user.UserActions) Row(io.crate.data.Row) PlannerContext(io.crate.planner.PlannerContext) Plan(io.crate.planner.Plan) UserManager(io.crate.user.UserManager) SubQueryResults(io.crate.planner.operators.SubQueryResults) SecureHash(io.crate.user.SecureHash) OneRowActionListener(io.crate.execution.support.OneRowActionListener) Row1(io.crate.data.Row1) Row1(io.crate.data.Row1) SecureHash(io.crate.user.SecureHash)

Example 8 with OneRowActionListener

use of io.crate.execution.support.OneRowActionListener in project crate by crate.

the class CreateBlobTablePlan method executeOrFail.

@Override
public void executeOrFail(DependencyCarrier dependencies, PlannerContext plannerContext, RowConsumer consumer, Row params, SubQueryResults subQueryResults) throws Exception {
    RelationName relationName = analyzedBlobTable.relationName();
    Settings settings = buildSettings(analyzedBlobTable.createBlobTable(), plannerContext.transactionContext(), dependencies.nodeContext(), params, subQueryResults, numberOfShards);
    CreateIndexRequest createIndexRequest = new CreateIndexRequest(fullIndexName(relationName.name()), settings);
    OneRowActionListener<CreateIndexResponse> listener = new OneRowActionListener<>(consumer, r -> new Row1(1L));
    dependencies.createIndexAction().execute(createIndexRequest, listener);
}
Also used : Row1(io.crate.data.Row1) OneRowActionListener(io.crate.execution.support.OneRowActionListener) RelationName(io.crate.metadata.RelationName) CreateIndexRequest(org.elasticsearch.action.admin.indices.create.CreateIndexRequest) CreateIndexResponse(org.elasticsearch.action.admin.indices.create.CreateIndexResponse) Settings(org.elasticsearch.common.settings.Settings)

Example 9 with OneRowActionListener

use of io.crate.execution.support.OneRowActionListener in project crate by crate.

the class CreateUserPlan method executeOrFail.

@Override
public void executeOrFail(DependencyCarrier dependencies, PlannerContext plannerContext, RowConsumer consumer, Row params, SubQueryResults subQueryResults) throws Exception {
    SecureHash newPassword = UserActions.generateSecureHash(createUser.properties(), params, plannerContext.transactionContext(), plannerContext.nodeContext());
    userManager.createUser(createUser.userName(), newPassword).whenComplete(new OneRowActionListener<>(consumer, rCount -> new Row1(rCount == null ? -1 : rCount)));
}
Also used : RowConsumer(io.crate.data.RowConsumer) DependencyCarrier(io.crate.planner.DependencyCarrier) UserActions(io.crate.user.UserActions) Row(io.crate.data.Row) PlannerContext(io.crate.planner.PlannerContext) Plan(io.crate.planner.Plan) UserManager(io.crate.user.UserManager) SubQueryResults(io.crate.planner.operators.SubQueryResults) SecureHash(io.crate.user.SecureHash) AnalyzedCreateUser(io.crate.analyze.AnalyzedCreateUser) OneRowActionListener(io.crate.execution.support.OneRowActionListener) Row1(io.crate.data.Row1) Row1(io.crate.data.Row1) SecureHash(io.crate.user.SecureHash)

Example 10 with OneRowActionListener

use of io.crate.execution.support.OneRowActionListener in project crate by crate.

the class DropFunctionPlan method executeOrFail.

@Override
public void executeOrFail(DependencyCarrier dependencies, PlannerContext plannerContext, RowConsumer consumer, Row params, SubQueryResults subQueryResults) throws Exception {
    DropUserDefinedFunctionRequest request = new DropUserDefinedFunctionRequest(analyzedDropFunction.schema(), analyzedDropFunction.name(), analyzedDropFunction.argumentTypes(), analyzedDropFunction.ifExists());
    OneRowActionListener<AcknowledgedResponse> listener = new OneRowActionListener<>(consumer, r -> new Row1(1L));
    dependencies.dropFunctionAction().execute(request, listener);
}
Also used : Row1(io.crate.data.Row1) OneRowActionListener(io.crate.execution.support.OneRowActionListener) AcknowledgedResponse(org.elasticsearch.action.support.master.AcknowledgedResponse) DropUserDefinedFunctionRequest(io.crate.expression.udf.DropUserDefinedFunctionRequest)

Aggregations

Row1 (io.crate.data.Row1)26 OneRowActionListener (io.crate.execution.support.OneRowActionListener)26 Row (io.crate.data.Row)22 RowConsumer (io.crate.data.RowConsumer)22 SubQueryResults (io.crate.planner.operators.SubQueryResults)22 DependencyCarrier (io.crate.planner.DependencyCarrier)19 Plan (io.crate.planner.Plan)19 PlannerContext (io.crate.planner.PlannerContext)19 SymbolEvaluator (io.crate.analyze.SymbolEvaluator)15 Symbol (io.crate.expression.symbol.Symbol)15 Function (java.util.function.Function)15 VisibleForTesting (io.crate.common.annotations.VisibleForTesting)11 NodeContext (io.crate.metadata.NodeContext)10 Settings (org.elasticsearch.common.settings.Settings)10 CoordinatorTxnCtx (io.crate.metadata.CoordinatorTxnCtx)9 List (java.util.List)7 RelationName (io.crate.metadata.RelationName)6 DocTableInfo (io.crate.metadata.doc.DocTableInfo)6 Table (io.crate.sql.tree.Table)6 ArrayList (java.util.ArrayList)5