kexi

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: