16 #ifndef QGSSQLEXPRESSIONCOMPILER_H
17 #define QGSSQLEXPRESSIONCOMPILER_H
21 #include "qgis_core.h"
58 CaseInsensitiveStringMatch = 1,
59 LikeIsCaseInsensitive = 1 << 1,
60 NoNullInBooleanLogic = 1 << 2,
61 NoUnaryMinus = 1 << 3,
62 IntegerDivisionResultsInInteger = 1 << 4,
64 Q_DECLARE_FLAGS( Flags, Flag )
85 virtual QString result();
111 virtual QString quotedIdentifier(
const QString &identifier );
120 virtual QString quotedValue(
const QVariant &value,
bool &ok );
136 virtual QString sqlFunctionFromFunctionName(
const QString &fnName )
const;
145 virtual QStringList sqlArgumentsFromFunctionName(
const QString &fnName,
const QStringList &fnArgs )
const;
153 virtual QString castToReal(
const QString &value )
const;
170 virtual QString castToText(
const QString &value )
const;
177 virtual QString castToInt(
const QString &value )
const;
193 bool mIgnoreStaticNodes =
false;
BinaryOperator
list of binary operators
Abstract base class for all nodes that can appear in an expression.
Class for parsing and evaluation of expressions (formerly called "search strings").
Container of fields for a vector layer.
Generic expression compiler for translation to provider specific SQL WHERE clauses.
Result
Possible results from expression compilation.
@ Complete
Expression was successfully compiled and can be completely delegated to provider.
@ Partial
Expression was partially compiled, but provider will return extra records and results must be double-...
virtual ~QgsSqlExpressionCompiler()=default
Flag
Enumeration of flags for how provider handles SQL clauses.
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.