KDbVariableExpressionData
#include <KDbExpressionData.h>

Public Member Functions | |
| KDbVariableExpressionData (const QString &aName) | |
| KDbVariableExpressionData * | clone () override |
| void | getQueryParameters (QList< KDbQuerySchemaParameter > *params) override |
Public Member Functions inherited from KDbExpressionData | |
| template<typename T> | |
| T * | convert () |
| template<typename T> | |
| const T * | convertConst () const |
| QDebug | debug (QDebug dbg, KDb::ExpressionCallStack *callStack) const |
| bool | isDateTimeType () const |
| bool | isFPNumericType () const |
| bool | isIntegerType () const |
| bool | isNumericType () const |
| bool | isTextType () const |
| bool | isValid () const |
| KDbEscapedString | toString (const KDbDriver *driver, KDbQuerySchemaParameterValueListIterator *params=nullptr, KDb::ExpressionCallStack *callStack=nullptr) const |
| KDbField::Type | type () const |
| KDbField::Type | type (KDb::ExpressionCallStack *callStack) const |
| bool | validate (KDbParseInfo *parseInfo) |
| bool | validate (KDbParseInfo *parseInfo, KDb::ExpressionCallStack *callStack) |
Public Member Functions inherited from QSharedData | |
| QSharedData (const QSharedData &) | |
Public Attributes | |
| KDbField * | field |
| QString | name |
| KDbTableSchema * | tableForQueryAsterisk |
| int | tablePositionForField |
Public Attributes inherited from KDbExpressionData | |
| QList< ExplicitlySharedExpressionDataPointer > | children |
| KDb::ExpressionClass | expressionClass |
| ExplicitlySharedExpressionDataPointer | parent |
| KDbToken | token |
Protected Member Functions | |
| void | debugInternal (QDebug dbg, KDb::ExpressionCallStack *callStack) const override |
| KDbEscapedString | toStringInternal (const KDbDriver *driver, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const override |
| KDbField::Type | typeInternal (KDb::ExpressionCallStack *callStack) const override |
| bool | validateInternal (KDbParseInfo *parseInfo, KDb::ExpressionCallStack *callStack) override |
Protected Member Functions inherited from KDbExpressionData | |
| bool | addToCallStack (QDebug *dbg, KDb::ExpressionCallStack *callStack) const |
Detailed Description
Internal data class used to implement implicitly shared class KDbVariableExpression.
Provides thread-safe reference counting.
Definition at line 268 of file KDbExpressionData.h.
Constructor & Destructor Documentation
◆ KDbVariableExpressionData() [1/2]
| KDbVariableExpressionData::KDbVariableExpressionData | ( | ) |
Definition at line 30 of file KDbVariableExpression.cpp.
◆ KDbVariableExpressionData() [2/2]
|
explicit |
Definition at line 39 of file KDbVariableExpression.cpp.
◆ ~KDbVariableExpressionData()
|
override |
Definition at line 49 of file KDbVariableExpression.cpp.
Member Function Documentation
◆ clone()
|
overridevirtual |
Reimplemented from KDbExpressionData.
Definition at line 54 of file KDbVariableExpression.cpp.
◆ debugInternal()
|
overrideprotectedvirtual |
Sends information about this expression to debug output dbg (internal).
Reimplemented from KDbExpressionData.
Definition at line 60 of file KDbVariableExpression.cpp.
◆ getQueryParameters()
|
overridevirtual |
Reimplemented from KDbExpressionData.
Definition at line 79 of file KDbVariableExpression.cpp.
◆ toStringInternal()
|
overrideprotectedvirtual |
Reimplemented from KDbExpressionData.
Definition at line 68 of file KDbVariableExpression.cpp.
◆ typeInternal()
|
overrideprotectedvirtual |
We're assuming it's called after VariableExpr::validate()
Reimplemented from KDbExpressionData.
Definition at line 85 of file KDbVariableExpression.cpp.
◆ validateInternal()
|
overrideprotectedvirtual |
Validation. Sets field, tablePositionForField and tableForQueryAsterisk members. See addColumn() in parse.y to see how it's used on column adding.
- Todo
- shall we also support db name?
Reimplemented from KDbExpressionData.
Definition at line 102 of file KDbVariableExpression.cpp.
Member Data Documentation
◆ field
| KDbField* KDbVariableExpressionData::field |
0 by default. After successful validate() it will point to a field, if the variable is of a form "tablename.fieldname" or "fieldname", otherwise (eg. for asterisks) still 0. Only meaningful for column expressions within a query.
Definition at line 283 of file KDbExpressionData.h.
◆ name
| QString KDbVariableExpressionData::name |
Verbatim name as returned by scanner.
Definition at line 277 of file KDbExpressionData.h.
◆ tableForQueryAsterisk
| KDbTableSchema* KDbVariableExpressionData::tableForQueryAsterisk |
0 by default. After successful validate() it will point to a table that is referenced by asterisk, i.e. "*.tablename". This is set to nullptr if this variable is not an asterisk of that form.
Definition at line 296 of file KDbExpressionData.h.
◆ tablePositionForField
| int KDbVariableExpressionData::tablePositionForField |
-1 by default. After successful validate() it will contain a position of a table within query that needs to be bound to the field. This value can be either be -1 if no binding is needed. This value is used in the Parser to call KDbQuerySchema::addField(KDbField* field, int bindToTable); Only meaningful for column expressions within a query.
Definition at line 291 of file KDbExpressionData.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri May 2 2025 12:05:18 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.
Public Member Functions inherited from