KexiDB::VariableExpr Class Reference

#include <expression.h>

Inheritance diagram for KexiDB::VariableExpr:
KexiDB::BaseExpr

Public Member Functions

 VariableExpr (const TQString &_name)
 
 VariableExpr (const VariableExpr &expr)
 
virtual VariableExpr * copy () const
 
virtual Field::Type type ()
 
virtual TQString debugString ()
 
virtual TQString toString (QuerySchemaParameterValueListIterator *params=0)
 
virtual void getQueryParameters (QuerySchemaParameterList &params)
 
virtual bool validate (ParseInfo &parseInfo)
 
- Public Member Functions inherited from KexiDB::BaseExpr
 BaseExpr (int token)
 
int token () const
 
BaseExpr * parent () const
 
virtual void setParent (BaseExpr *p)
 
void debug ()
 
TQString tokenToDebugString ()
 
virtual TQString tokenToString ()
 
int exprClass () const
 
NArgExpr * toNArg ()
 
UnaryExpr * toUnary ()
 
BinaryExpr * toBinary ()
 
ConstExpr * toConst ()
 
VariableExpr * toVariable ()
 
FunctionExpr * toFunction ()
 
QueryParameterExpr * toQueryParameter ()
 

Public Attributes

TQString name
 
Field * field
 
int tablePositionForField
 
TableSchema * tableForQueryAsterisk
 

Additional Inherited Members

- Public Types inherited from KexiDB::BaseExpr
typedef TQPtrList< BaseExpr > List
 
typedef TQPtrListIterator< BaseExpr > ListIterator
 
- Static Public Member Functions inherited from KexiDB::BaseExpr
static TQString tokenToDebugString (int token)
 
- Protected Attributes inherited from KexiDB::BaseExpr
int m_cl
 
BaseExpr * m_par
 
int m_token
 

Detailed Description

Variables like fieldname or tablename.fieldname

Definition at line 244 of file expression.h.

Constructor & Destructor Documentation

◆ VariableExpr() [1/2]

VariableExpr::VariableExpr ( const TQString &  _name)

Definition at line 624 of file expression.cpp.

◆ VariableExpr() [2/2]

VariableExpr::VariableExpr ( const VariableExpr &  expr)

Definition at line 634 of file expression.cpp.

◆ ~VariableExpr()

VariableExpr::~VariableExpr ( )
virtual

Definition at line 643 of file expression.cpp.

Member Function Documentation

◆ copy()

VariableExpr * VariableExpr::copy ( ) const
virtual
Returns
a deep copy of this object.

Implements KexiDB::BaseExpr.

Definition at line 647 of file expression.cpp.

◆ debugString()

TQString VariableExpr::debugString ( )
virtual

Reimplemented from KexiDB::BaseExpr.

Definition at line 652 of file expression.cpp.

◆ getQueryParameters()

void VariableExpr::getQueryParameters ( QuerySchemaParameterList &  params)
virtual

Collects query parameters (messages and types) reculsively and saves them to params. The leaf nodes are objects of QueryParameterExpr class.

Implements KexiDB::BaseExpr.

Definition at line 664 of file expression.cpp.

◆ toString()

TQString VariableExpr::toString ( QuerySchemaParameterValueListIterator *  params = 0)
virtual
Returns
string as a representation of this expression element by running recursive calls. param, if not 0, points to a list item containing value of a query parameter (used in QueryParameterExpr).

Implements KexiDB::BaseExpr.

Definition at line 658 of file expression.cpp.

◆ type()

Field::Type VariableExpr::type ( )
virtual

We're assuming it's called after VariableExpr::validate()

Reimplemented from KexiDB::BaseExpr.

Definition at line 670 of file expression.cpp.

◆ validate()

bool VariableExpr::validate ( ParseInfo &  parseInfo)
virtual

Validation. Sets field, tablePositionForField and tableForQueryAsterisk members. See addColumn() in parse.y to see how it's used on column adding.

Reimplemented from KexiDB::BaseExpr.

Definition at line 681 of file expression.cpp.

Member Data Documentation

◆ field

Field* KexiDB::VariableExpr::field

Definition at line 269 of file expression.h.

◆ name

TQString KexiDB::VariableExpr::name

Verbatim name as returned by scanner.

Definition at line 263 of file expression.h.

◆ tableForQueryAsterisk

TableSchema* KexiDB::VariableExpr::tableForQueryAsterisk

NULL by default. After successful validate() it will point to a table that is referenced by asterisk, i.e. "*.tablename". This is set to NULL if this variable is not an asterisk of that form.

Definition at line 282 of file expression.h.

◆ tablePositionForField

int KexiDB::VariableExpr::tablePositionForField

Definition at line 277 of file expression.h.


The documentation for this class was generated from the following files: