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

namespace NKikimr::NMiniKQL {

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

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

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

} // namespace NKikimr::NMiniKQL