aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/minikql/mkql_node_serialization.h
blob: be4df8bff7fdea1cd0619a2e38ef9c454cb8d76a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once
#include "defs.h"
#include "mkql_node.h"
#include "mkql_node_visitor.h"

namespace NKikimr {
namespace NMiniKQL {

TString SerializeNode(TNode* node, std::vector<TNode*>& nodeStack) noexcept;
TString SerializeRuntimeNode(TRuntimeNode node, std::vector<TNode*>& nodeStack) noexcept;
TString SerializeRuntimeNode(TExploringNodeVisitor& explorer, TRuntimeNode node, std::vector<TNode*>& nodeStack) noexcept;

// Deprecated function. Should be removed after YDB sync.
TString SerializeNode(TNode* node, const TTypeEnvironment& env) noexcept;
TString SerializeRuntimeNode(TRuntimeNode node, const TTypeEnvironment& env) noexcept;
TString SerializeRuntimeNode(TExploringNodeVisitor& explorer, TRuntimeNode node, const TTypeEnvironment& env) noexcept;
// End of deprecated

TNode* DeserializeNode(const TStringBuf& buffer, const TTypeEnvironment& env);
TRuntimeNode DeserializeRuntimeNode(const TStringBuf& buffer, const TTypeEnvironment& env);

}
}