diff options
Diffstat (limited to 'yql/essentials/sql/v1/select.cpp')
| -rw-r--r-- | yql/essentials/sql/v1/select.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/yql/essentials/sql/v1/select.cpp b/yql/essentials/sql/v1/select.cpp index c1dc2acea1d..a2af18a0a6e 100644 --- a/yql/essentials/sql/v1/select.cpp +++ b/yql/essentials/sql/v1/select.cpp @@ -3916,15 +3916,16 @@ TSourcePtr BuildCombine(TPosition pos, TSourcePtr leftSource, TVector<TSortSpeci class TWatermarkSource: public IProxySource { public: - TWatermarkSource(TPosition pos, TSourcePtr src, TNodePtr watermarkLambda) + TWatermarkSource(TPosition pos, TSourcePtr src, TNodePtr watermarkLambda, TNodePtr watermarkSettings) : IProxySource(pos, src.Get()) , SourcePtr_(src) , WatermarkLambda_(std::move(watermarkLambda)) + , WatermarkSettings_(std::move(watermarkSettings)) { } TNodePtr Build(TContext& ctx) final { - return Y("WatermarkGenerator", SourcePtr_->Build(ctx), WatermarkLambda_); + return Y("WatermarkGenerator", SourcePtr_->Build(ctx), WatermarkLambda_, WatermarkSettings_); } bool DoInit(TContext& ctx, ISource* src) final { @@ -3936,20 +3937,25 @@ public: return false; } + if (!WatermarkSettings_->Init(ctx, this)) { + return false; + } + return IProxySource::DoInit(ctx, src); } TNodePtr DoClone() const final { - return MakeIntrusive<TWatermarkSource>(Pos_, SourcePtr_->CloneSource(), WatermarkLambda_->Clone()); + return MakeIntrusive<TWatermarkSource>(Pos_, SourcePtr_->CloneSource(), WatermarkLambda_->Clone(), WatermarkSettings_->Clone()); } private: TSourcePtr SourcePtr_; TNodePtr WatermarkLambda_; + TNodePtr WatermarkSettings_; }; -TSourcePtr BuildWatermarkSource(TPosition pos, TSourcePtr src, TNodePtr watermarkLambda) { - return MakeIntrusive<TWatermarkSource>(pos, std::move(src), std::move(watermarkLambda)); +TSourcePtr BuildWatermarkSource(TPosition pos, TSourcePtr src, TNodePtr watermarkLambda, TNodePtr watermarkSettings) { + return MakeIntrusive<TWatermarkSource>(pos, std::move(src), std::move(watermarkLambda), std::move(watermarkSettings)); } } // namespace NSQLTranslationV1 |
