@@ -1033,7 +1033,7 @@ class TKqpHost : public IKqpHost {
10331033 std::optional<TKqpFederatedQuerySetup> federatedQuerySetup, const TIntrusiveConstPtr<NACLib::TUserToken>& userToken,
10341034 const NKikimr::NMiniKQL::IFunctionRegistry* funcRegistry, bool keepConfigChanges, bool isInternalCall,
10351035 TKqpTempTablesState::TConstPtr tempTablesState = nullptr , NActors::TActorSystem* actorSystem = nullptr ,
1036- NYql::TExprContext* ctx = nullptr )
1036+ NYql::TExprContext* ctx = nullptr , const NKikimrConfig::TQueryServiceConfig& queryServiceConfig = NKikimrConfig::TQueryServiceConfig() )
10371037 : Gateway(gateway)
10381038 , Cluster(cluster)
10391039 , GUCSettings(gUCSettings )
@@ -1051,6 +1051,7 @@ class TKqpHost : public IKqpHost {
10511051 , FakeWorld(ctx ? nullptr : ExprCtx->NewWorld (TPosition()))
10521052 , ExecuteCtx(MakeIntrusive<TExecuteContext>())
10531053 , ActorSystem(actorSystem ? actorSystem : NActors::TActivationContext::ActorSystem())
1054+ , QueryServiceConfig(queryServiceConfig)
10541055 {
10551056 if (funcRegistry) {
10561057 FuncRegistry = funcRegistry;
@@ -1824,10 +1825,15 @@ class TKqpHost : public IKqpHost {
18241825 || settingName == " FilterPushdownOverJoinOptionalSide"
18251826 || settingName == " DisableFilterPushdownOverJoinOptionalSide"
18261827 || settingName == " RotateJoinTree"
1828+ || settingName == " TimeOrderRecoverDelay"
1829+ || settingName == " TimeOrderRecoverAhead"
1830+ || settingName == " TimeOrderRecoverRowLimit"
1831+ || settingName == " MatchRecognizeStream"
18271832 ;
18281833 };
18291834 auto configProvider = CreateConfigProvider (*TypesCtx, gatewaysConfig, {}, allowSettings);
18301835 TypesCtx->AddDataSource (ConfigProviderName, configProvider);
1836+ TypesCtx->MatchRecognize = QueryServiceConfig.GetEnableMatchRecognize ();
18311837
18321838 YQL_ENSURE (TypesCtx->Initialize (*ExprCtx));
18331839
@@ -1929,6 +1935,7 @@ class TKqpHost : public IKqpHost {
19291935
19301936 TKqpTempTablesState::TConstPtr TempTablesState;
19311937 NActors::TActorSystem* ActorSystem = nullptr ;
1938+ NKikimrConfig::TQueryServiceConfig QueryServiceConfig;
19321939};
19331940
19341941} // namespace
@@ -1949,11 +1956,11 @@ Ydb::Table::QueryStatsCollection::Mode GetStatsMode(NYql::EKikimrStatsMode stats
19491956TIntrusivePtr<IKqpHost> CreateKqpHost (TIntrusivePtr<IKqpGateway> gateway, const TString& cluster,
19501957 const TString& database, TKikimrConfiguration::TPtr config, IModuleResolver::TPtr moduleResolver,
19511958 std::optional<TKqpFederatedQuerySetup> federatedQuerySetup, const TIntrusiveConstPtr<NACLib::TUserToken>& userToken, const TGUCSettings::TPtr& gUCSettings ,
1952- const TMaybe<TString>& applicationName, const NKikimr::NMiniKQL::IFunctionRegistry* funcRegistry, bool keepConfigChanges,
1959+ const NKikimrConfig::TQueryServiceConfig& queryServiceConfig, const TMaybe<TString>& applicationName, const NKikimr::NMiniKQL::IFunctionRegistry* funcRegistry, bool keepConfigChanges,
19531960 bool isInternalCall, TKqpTempTablesState::TConstPtr tempTablesState, NActors::TActorSystem* actorSystem, NYql::TExprContext* ctx)
19541961{
19551962 return MakeIntrusive<TKqpHost>(gateway, cluster, database, gUCSettings , applicationName, config, moduleResolver, federatedQuerySetup, userToken, funcRegistry,
1956- keepConfigChanges, isInternalCall, std::move (tempTablesState), actorSystem, ctx);
1963+ keepConfigChanges, isInternalCall, std::move (tempTablesState), actorSystem, ctx, queryServiceConfig );
19571964}
19581965
19591966} // namespace NKqp
0 commit comments