34#ifndef OPENSWMMVIS_QUERYPARSER_H
35#define OPENSWMMVIS_QUERYPARSER_H
38#include <QRegularExpression>
59 std::shared_ptr<QueryNode>
left;
60 std::shared_ptr<QueryNode>
right;
74 std::shared_ptr<QueryNode>
root;
82QueryPredicate
parseQuery(
const QString &whereClause);
100bool evaluateQuery(
const QueryPredicate &pred,
const QVariantMap &row);
Definition aquiferprovider.h:21
QueryPredicate parseQuery(const QString &whereClause)
Definition queryparser.cpp:389
bool evaluateQuery(const QueryPredicate &pred, const QVariantMap &row)
Definition queryparser.cpp:394
QStringList queryFieldNames(const QueryPredicate &pred)
Definition queryparser.cpp:399
Definition queryparser.h:49
std::shared_ptr< QueryNode > right
Definition queryparser.h:60
QVariant literal
For Compare / Like.
Definition queryparser.h:63
QString op
For Compare: "<", "<=", ...
Definition queryparser.h:62
std::shared_ptr< QueryNode > left
Definition queryparser.h:59
QRegularExpression likeRegex
Definition queryparser.h:68
Kind kind
Definition queryparser.h:58
QString fieldName
Definition queryparser.h:61
QList< QVariant > inList
For In.
Definition queryparser.h:64
Kind
Definition queryparser.h:50
@ Like
Definition queryparser.h:55
@ AndOp
Definition queryparser.h:52
@ In
Definition queryparser.h:56
@ NotOp
Definition queryparser.h:53
@ Compare
Definition queryparser.h:54
@ OrOp
Definition queryparser.h:51
Definition queryparser.h:73
int errorPos
Definition queryparser.h:76
QString error
Definition queryparser.h:75
std::shared_ptr< QueryNode > root
Definition queryparser.h:74
bool isValid() const noexcept
Definition queryparser.h:77