blob: eaf4c4ff182384205a1823131c59ebb48f6fdf23 (
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
24
25
|
#pragma once
#include "named_node_resolution.h"
#include "parse_tree.h"
#include <yql/essentials/sql/v1/ide/completion/core/environment.h>
namespace NSQLComplete {
using TIdentifier = TString;
using TPartialValue = std::variant<
NYT::TNode,
TIdentifier,
std::monostate>;
bool IsDefined(const TPartialValue& value);
TMaybe<TString> ToObjectRef(const TPartialValue& value);
NYT::TNode Evaluate(SQLv1::Bind_parameterContext* ctx, const INamedNodes& nodes);
TPartialValue PartiallyEvaluate(antlr4::ParserRuleContext* ctx, const INamedNodes& nodes);
} // namespace NSQLComplete
|