summaryrefslogtreecommitdiffstats
path: root/yql/essentials/core/layers/layers_integration.h
diff options
context:
space:
mode:
authormrlolthe1st <[email protected]>2025-10-10 10:46:06 +0300
committermrlolthe1st <[email protected]>2025-10-10 11:01:48 +0300
commitf5397eb7b72b0fa2a05676c524c0c76a2afed3bc (patch)
tree2962505227c48975a8ac984afb900b53ca4a1251 /yql/essentials/core/layers/layers_integration.h
parentb65c1eb471dda662f77af9de9b97ab3a6582ba21 (diff)
YQL-20072: Init pragma Layer and yt.LayerCaches
commit_hash:9199da15c695cf5c8a492750a8bcfbb0f31c0b34
Diffstat (limited to 'yql/essentials/core/layers/layers_integration.h')
-rw-r--r--yql/essentials/core/layers/layers_integration.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/yql/essentials/core/layers/layers_integration.h b/yql/essentials/core/layers/layers_integration.h
new file mode 100644
index 00000000000..93271d93804
--- /dev/null
+++ b/yql/essentials/core/layers/layers_integration.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "layers_fwd.h"
+
+#include <yql/essentials/ast/yql_expr.h>
+
+namespace NYql::NLayers {
+
+class ILayersIntegration : public TThrRefBase {
+public:
+ virtual TMaybe<TLocations> ResolveLayers(const TVector<TKey>& order, const TString& cluster, NYql::TExprContext& ctx) const = 0;
+ virtual bool UpdateLayerCache(const TKey& key, const TLayerInfo& layer, NYql::TExprContext& ctx) = 0;
+ virtual bool UpdateLayerLocations(const TKey& key, TLocations&& locs, NYql::TExprContext& ctx) = 0;
+ virtual void RemoveLayerByName(const TString& name) = 0;
+ virtual ~ILayersIntegration() = default;
+};
+
+using ILayersIntegrationPtr = TIntrusivePtr<ILayersIntegration>;
+}