vkdb
A time series database engine in C++.
Loading...
Searching...
No Matches
printer.h
1
#ifndef QUERY_PRINTER_H
2
#define QUERY_PRINTER_H
3
4
#include <vkdb/expr.h>
5
#include <sstream>
6
#include <string>
7
#include <variant>
8
9
namespace
vkdb {
14
class
Printer
{
15
public
:
22
[[nodiscard]] std::string
print
(
const
Expr& expr)
noexcept
;
23
24
private
:
30
void
visit(
const
Query& query)
noexcept
;
31
37
void
visit(
const
SelectQuery
& query)
noexcept
;
38
44
void
visit(
const
PutQuery
& query)
noexcept
;
45
51
void
visit(
const
DeleteQuery
& query)
noexcept
;
52
58
void
visit(
const
CreateQuery
& query)
noexcept
;
59
65
void
visit(
const
DropQuery
& query)
noexcept
;
66
72
void
visit(
const
AddQuery
& query)
noexcept
;
73
79
void
visit(
const
RemoveQuery
& query)
noexcept
;
80
86
void
visit(
const
TablesQuery
& query)
noexcept
;
87
93
void
visit(
const
AllClause
& clause)
noexcept
;
94
100
void
visit(
const
BetweenClause
& clause)
noexcept
;
101
107
void
visit(
const
AtClause
& clause)
noexcept
;
108
114
void
visit(
const
WhereClause
& clause)
noexcept
;
115
121
void
visit(
const
SelectType& type)
noexcept
;
122
128
void
visit(
const
MetricExpr
& metric)
noexcept
;
129
135
void
visit(
const
TableNameExpr
& table_name)
noexcept
;
136
142
void
visit(
const
TagKeyExpr
& tag_key)
noexcept
;
143
149
void
visit(
const
TagValueExpr
& tag_value)
noexcept
;
150
156
void
visit(
const
TagExpr
& tag)
noexcept
;
157
163
void
visit(
const
TagListExpr
& tag_list)
noexcept
;
164
170
void
visit(
const
TagColumnsExpr
& tag_columns)
noexcept
;
171
177
void
visit(
const
TimestampExpr
& timestamp)
noexcept
;
178
184
void
visit(
const
ValueExpr
& value)
noexcept
;
185
190
std::stringstream output_;
191
};
192
}
// namespace vkdb
193
194
#endif
// QUERY_PRINTER_H
vkdb::Printer
Printer for vq.
Definition
printer.h:14
vkdb::Printer::print
std::string print(const Expr &expr) noexcept
Prints the given expression.
Definition
printer.cpp:4
vkdb::AddQuery
Add query.
Definition
expr.h:420
vkdb::AllClause
All clause.
Definition
expr.h:141
vkdb::AtClause
At clause.
Definition
expr.h:177
vkdb::BetweenClause
Between clause.
Definition
expr.h:153
vkdb::CreateQuery
Create query.
Definition
expr.h:390
vkdb::DeleteQuery
Delete query.
Definition
expr.h:360
vkdb::DropQuery
Drop query.
Definition
expr.h:408
vkdb::MetricExpr
Metric expression.
Definition
expr.h:15
vkdb::PutQuery
Put query.
Definition
expr.h:324
vkdb::RemoveQuery
Remove query.
Definition
expr.h:438
vkdb::SelectQuery
Select query.
Definition
expr.h:293
vkdb::TableNameExpr
Table name expression.
Definition
expr.h:27
vkdb::TablesQuery
Tables query.
Definition
expr.h:456
vkdb::TagColumnsExpr
Tag columns expression.
Definition
expr.h:75
vkdb::TagExpr
Tag expression.
Definition
expr.h:99
vkdb::TagKeyExpr
Tag key expression.
Definition
expr.h:63
vkdb::TagListExpr
Tag list expression.
Definition
expr.h:117
vkdb::TagValueExpr
Tag value expression.
Definition
expr.h:87
vkdb::TimestampExpr
Timestamp expression.
Definition
expr.h:39
vkdb::ValueExpr
Value expression.
Definition
expr.h:51
vkdb::WhereClause
Where clause.
Definition
expr.h:129
include
query
vkdb
printer.h
Generated by
1.12.0