summaryrefslogtreecommitdiffstats
path: root/yql/essentials/public/purecalc/common/compile_mkql.h
blob: 09991e3d59000f10081520a3c7ca70b2a672d4da (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once

#include <yql/essentials/providers/common/mkql/yql_type_mkql.h>
#include <yql/essentials/public/purecalc/common/interface.h>
#include <yql/essentials/minikql/mkql_node.h>
#include <yql/essentials/ast/yql_expr.h>
#include <yql/essentials/core/yql_user_data.h>

namespace NYql::NPureCalc {

/**
 * Compile expr to mkql byte-code
 */

NKikimr::NMiniKQL::TRuntimeNode CompileMkql(const TExprNode::TPtr& exprRoot, TExprContext& exprCtx,
                                            const NKikimr::NMiniKQL::IFunctionRegistry& funcRegistry, const NKikimr::NMiniKQL::TTypeEnvironment& env, const TUserDataTable& userData,
                                            NCommon::TMemoizedTypesMap* typeMemoization = nullptr);

} // namespace NYql::NPureCalc