@@ -32,6 +32,8 @@ use operator::flow::FlowServiceOperator;
3232use operator:: insert:: Inserter ;
3333use operator:: procedure:: ProcedureServiceOperator ;
3434use operator:: request:: Requester ;
35+ #[ cfg( feature = "enterprise" ) ]
36+ use operator:: statement:: TriggerQuerierFactoryRef ;
3537use operator:: statement:: { StatementExecutor , StatementExecutorRef } ;
3638use operator:: table:: TableMutationOperator ;
3739use partition:: manager:: PartitionRuleManager ;
@@ -58,6 +60,8 @@ pub struct FrontendBuilder {
5860 plugins : Option < Plugins > ,
5961 procedure_executor : ProcedureExecutorRef ,
6062 process_manager : ProcessManagerRef ,
63+ #[ cfg( feature = "enterprise" ) ]
64+ trigger_querier_factory : Option < TriggerQuerierFactoryRef > ,
6165}
6266
6367impl FrontendBuilder {
@@ -81,6 +85,8 @@ impl FrontendBuilder {
8185 plugins : None ,
8286 procedure_executor,
8387 process_manager,
88+ #[ cfg( feature = "enterprise" ) ]
89+ trigger_querier_factory : None ,
8490 }
8591 }
8692
@@ -98,6 +104,14 @@ impl FrontendBuilder {
98104 }
99105 }
100106
107+ #[ cfg( feature = "enterprise" ) ]
108+ pub fn with_trigger_querier ( self , trigger_querier : TriggerQuerierFactoryRef ) -> Self {
109+ Self {
110+ trigger_querier_factory : Some ( trigger_querier) ,
111+ ..self
112+ }
113+ }
114+
101115 pub async fn try_build ( self ) -> Result < Instance > {
102116 let kv_backend = self . kv_backend ;
103117 let node_manager = self . node_manager ;
@@ -188,12 +202,10 @@ impl FrontendBuilder {
188202 ) ;
189203
190204 #[ cfg( feature = "enterprise" ) ]
191- let statement_executor =
192- if let Some ( factory) = plugins. get :: < operator:: statement:: TriggerQuerierFactoryRef > ( ) {
193- statement_executor. with_trigger_querier ( factory. create ( kv_backend. clone ( ) ) )
194- } else {
195- statement_executor
196- } ;
205+ if let Some ( factory) = self . trigger_querier_factory . as_ref ( ) {
206+ let trigger_querier = factory. create ( kv_backend. clone ( ) ) ;
207+ statement_executor = statement_executor. with_trigger_querier ( trigger_querier) ;
208+ }
197209
198210 let statement_executor = Arc :: new ( statement_executor) ;
199211
0 commit comments