QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
Generic expression compiler for translation to provider specific SQL WHERE clauses. More...
#include <qgssqlexpressioncompiler.h>
Public Types | |
enum | Flag { CaseInsensitiveStringMatch = 0x01, LikeIsCaseInsensitive = 0x02, NoNullInBooleanLogic = 0x04, NoUnaryMinus = 0x08 } |
Enumeration of flags for how provider handles SQL clauses. More... | |
enum | Result { None, Complete, Partial, Fail } |
Possible results from expression compilation. More... | |
Public Member Functions | |
QgsSqlExpressionCompiler (const QgsFields &fields, const Flags &flags=Flags()) | |
Constructor for expression compiler. More... | |
virtual | ~QgsSqlExpressionCompiler () |
virtual Result | compile (const QgsExpression *exp) |
Compiles an expression and returns the result of the compilation. More... | |
virtual QString | result () |
Returns the compiled expression string for use by the provider. More... | |
Protected Member Functions | |
virtual Result | compileNode (const QgsExpression::Node *node, QString &str) |
Compiles an expression node and returns the result of the compilation. More... | |
virtual QString | quotedIdentifier (const QString &identifier) |
Returns a quoted column identifier, in the format expected by the provider. More... | |
virtual QString | quotedValue (const QVariant &value, bool &ok) |
Returns a quoted attribute value, in the format expected by the provider. More... | |
Protected Attributes | |
QgsFields | mFields |
QString | mResult |
Generic expression compiler for translation to provider specific SQL WHERE clauses.
This class is designed to be overridden by providers to take advantage of expression compilation, so that feature requests can take advantage of the provider's native filtering support.
Definition at line 33 of file qgssqlexpressioncompiler.h.
Enumeration of flags for how provider handles SQL clauses.
Definition at line 48 of file qgssqlexpressioncompiler.h.
Possible results from expression compilation.
Definition at line 38 of file qgssqlexpressioncompiler.h.
|
explicit |
Constructor for expression compiler.
fields | fields from provider |
flags | flags which control how expression is compiled |
Definition at line 18 of file qgssqlexpressioncompiler.cpp.
|
virtual |
Definition at line 25 of file qgssqlexpressioncompiler.cpp.
|
virtual |
Compiles an expression and returns the result of the compilation.
Definition at line 30 of file qgssqlexpressioncompiler.cpp.
|
protectedvirtual |
Compiles an expression node and returns the result of the compilation.
node | expression node to compile |
str | string representing compiled node should be stored in this parameter |
Definition at line 74 of file qgssqlexpressioncompiler.cpp.
Returns a quoted column identifier, in the format expected by the provider.
Derived classes should override this if special handling of column identifiers is required.
Definition at line 38 of file qgssqlexpressioncompiler.cpp.
|
protectedvirtual |
Returns a quoted attribute value, in the format expected by the provider.
Derived classes should override this if special handling of attribute values is required.
value | value to quote |
ok | wil be set to true if value can be compiled |
Definition at line 46 of file qgssqlexpressioncompiler.cpp.
|
inlinevirtual |
Returns the compiled expression string for use by the provider.
Definition at line 70 of file qgssqlexpressioncompiler.h.
|
protected |
Definition at line 97 of file qgssqlexpressioncompiler.h.
|
protected |
Definition at line 96 of file qgssqlexpressioncompiler.h.