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 )
82 virtual QString result();
108 virtual QString quotedIdentifier(
const QString &identifier );
117 virtual QString quotedValue(
const QVariant &value,
bool &ok );
133 virtual QString sqlFunctionFromFunctionName(
const QString &fnName )
const;
142 virtual QStringList sqlArgumentsFromFunctionName(
const QString &fnName,
const QStringList &fnArgs )
const;
150 virtual QString castToReal(
const QString &value )
const;
167 virtual QString castToText(
const QString &value )
const;
174 virtual QString castToInt(
const QString &value )
const;
187 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsSqlExpressionCompiler::Flags )
189 #endif // QGSSQLEXPRESSIONCOMPILER_H Class for parsing and evaluation of expressions (formerly called "search strings").
Container of fields for a vector layer.
Flag
Enumeration of flags for how provider handles SQL clauses.
BinaryOperator
list of binary operators
Abstract base class for all nodes that can appear in an expression.
Generic expression compiler for translation to provider specific SQL WHERE clauses.
Result
Possible results from expression compilation.
Expression was partially compiled, but provider will return extra records and results must be double-...
Expression was successfully compiled and can be completely delegated to provider. ...