Kùzu C++ API
Loading...
Searching...
No Matches
expression_type.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <string>
5
6namespace kuzu {
7namespace common {
8
9enum class ExpressionType : uint8_t {
10 // Boolean Connection Expressions
11 OR = 0,
12 XOR = 1,
13 AND = 2,
14 NOT = 3,
15
16 // Comparison Expressions
17 EQUALS = 10,
18 NOT_EQUALS = 11,
19 GREATER_THAN = 12,
21 LESS_THAN = 14,
23
24 // Null Operator Expressions
25 IS_NULL = 50,
26 IS_NOT_NULL = 51,
27
28 PROPERTY = 60,
29
30 LITERAL = 70,
31
32 STAR = 80,
33
34 VARIABLE = 90,
35 PATH = 91,
36 PATTERN = 92, // Node & Rel pattern
37
38 PARAMETER = 100,
39
40 // At parsing stage, both aggregate and scalar functions have type FUNCTION.
41 // After binding, only scalar function have type FUNCTION.
42 FUNCTION = 110,
43
45
46 SUBQUERY = 190,
47
48 CASE_ELSE = 200,
49
50 GRAPH = 210,
51
52 LAMBDA = 220,
53
54 // NOTE: this enum has type uint8_t so don't assign over 255.
55 INVALID = 255,
56};
57
59 static bool isUnary(ExpressionType type);
60 static bool isBinary(ExpressionType type);
61 static bool isBoolean(ExpressionType type);
62 static bool isComparison(ExpressionType type);
63 static bool isNullOperator(ExpressionType type);
64
66
67 static std::string toString(ExpressionType type);
68 static std::string toParsableString(ExpressionType type);
69};
70
71} // namespace common
72} // namespace kuzu
ExpressionType
Definition expression_type.h:9
Definition array_utils.h:7
Definition expression_type.h:58
static bool isBoolean(ExpressionType type)
static bool isBinary(ExpressionType type)
static std::string toString(ExpressionType type)
static bool isUnary(ExpressionType type)
static bool isComparison(ExpressionType type)
static std::string toParsableString(ExpressionType type)
static ExpressionType reverseComparisonDirection(ExpressionType type)
static bool isNullOperator(ExpressionType type)