#include "yql_pg_provider_impl.h" #include #include namespace NYql { using namespace NNodes; namespace { class TPgDqIntegration: public TDqIntegrationBase { public: TPgDqIntegration(TPgState::TPtr state) : State_(state) {} bool CanRead(const TExprNode& read, TExprContext&, bool) override { return TPgReadTable::Match(&read); } TMaybe EstimateReadSize(ui64 /*dataSizePerJob*/, ui32 /*maxTasksPerStage*/, const TVector& read, TExprContext&) override { if (AllOf(read, [](const auto val) { return TPgReadTable::Match(val); })) { return 0ul; } return Nothing(); } ui64 Partition(const TExprNode&, TVector& partitions, TString*, TExprContext&, const TPartitionSettings&) override { partitions.clear(); partitions.emplace_back(); return 0ULL; } private: const TPgState::TPtr State_; }; } THolder CreatePgDqIntegration(TPgState::TPtr state) { return MakeHolder(state); } }