QGIS API Documentation  2.18.3-Las Palmas (77b8c3d)
Public Member Functions | Protected Attributes | List of all members
QgsSQLStatement::NodeJoin Class Reference

Join definition. More...

#include <qgssqlstatement.h>

Inheritance diagram for QgsSQLStatement::NodeJoin:
Inheritance graph
[legend]

Public Member Functions

 NodeJoin (NodeTableDef *tabledef, Node *onExpr, JoinType type)
 Constructor with table definition, ON expression. More...
 
 NodeJoin (NodeTableDef *tabledef, QList< QString > usingColumns, JoinType type)
 Constructor with table definition and USING columns. More...
 
virtual ~NodeJoin ()
 
virtual void accept (Visitor &v) const override
 Support the visitor pattern. More...
 
virtual Nodeclone () const override
 Generate a clone of this node. More...
 
NodeJoincloneThis () const
 Clone with same type return. More...
 
virtual QString dump () const override
 Abstract virtual dump method. More...
 
virtual NodeType nodeType () const override
 Abstract virtual that returns the type of this node. More...
 
NodeonExpr () const
 On expression. More...
 
NodeTableDeftableDef () const
 Table definition. More...
 
JoinType type () const
 Join type. More...
 
QList< QStringusingColumns () const
 Columns referenced by USING. More...
 
- Public Member Functions inherited from QgsSQLStatement::Node
virtual ~Node ()
 

Protected Attributes

NodemOnExpr
 
NodeTableDefmTableDef
 
JoinType mType
 
QList< QStringmUsingColumns
 

Detailed Description

Join definition.

Definition at line 576 of file qgssqlstatement.h.

Constructor & Destructor Documentation

QgsSQLStatement::NodeJoin::NodeJoin ( NodeTableDef tabledef,
Node onExpr,
JoinType  type 
)
inline

Constructor with table definition, ON expression.

Definition at line 580 of file qgssqlstatement.h.

QgsSQLStatement::NodeJoin::NodeJoin ( NodeTableDef tabledef,
QList< QString usingColumns,
JoinType  type 
)
inline

Constructor with table definition and USING columns.

Definition at line 582 of file qgssqlstatement.h.

virtual QgsSQLStatement::NodeJoin::~NodeJoin ( )
inlinevirtual

Definition at line 583 of file qgssqlstatement.h.

Member Function Documentation

virtual void QgsSQLStatement::NodeJoin::accept ( Visitor v) const
inlineoverridevirtual

Support the visitor pattern.

For any implementation this should look like

C++:

v.visit( *this );

Python:

v.visit( self)
Parameters
vA visitor that visits this node.

Implements QgsSQLStatement::Node.

Definition at line 600 of file qgssqlstatement.h.

QgsSQLStatement::Node * QgsSQLStatement::NodeJoin::clone ( ) const
overridevirtual

Generate a clone of this node.

Make sure that the clone does not contain any information which is generated in prepare and context related. Ownership is transferred to the caller.

Returns
a deep copy of this node.

Implements QgsSQLStatement::Node.

Definition at line 659 of file qgssqlstatement.cpp.

QgsSQLStatement::NodeJoin * QgsSQLStatement::NodeJoin::cloneThis ( ) const

Clone with same type return.

Definition at line 664 of file qgssqlstatement.cpp.

QString QgsSQLStatement::NodeJoin::dump ( ) const
overridevirtual

Abstract virtual dump method.

Returns
A statement which represents this node as string

Implements QgsSQLStatement::Node.

Definition at line 628 of file qgssqlstatement.cpp.

virtual NodeType QgsSQLStatement::NodeJoin::nodeType ( ) const
inlineoverridevirtual

Abstract virtual that returns the type of this node.

Returns
The type of this node

Implements QgsSQLStatement::Node.

Definition at line 597 of file qgssqlstatement.h.

Node* QgsSQLStatement::NodeJoin::onExpr ( ) const
inline

On expression.

Will be nullptr if usingColumns() is not empty

Definition at line 589 of file qgssqlstatement.h.

NodeTableDef* QgsSQLStatement::NodeJoin::tableDef ( ) const
inline

Table definition.

Definition at line 586 of file qgssqlstatement.h.

JoinType QgsSQLStatement::NodeJoin::type ( ) const
inline

Join type.

Definition at line 595 of file qgssqlstatement.h.

QList<QString> QgsSQLStatement::NodeJoin::usingColumns ( ) const
inline

Columns referenced by USING.

Definition at line 592 of file qgssqlstatement.h.

Member Data Documentation

Node* QgsSQLStatement::NodeJoin::mOnExpr
protected

Definition at line 607 of file qgssqlstatement.h.

NodeTableDef* QgsSQLStatement::NodeJoin::mTableDef
protected

Definition at line 606 of file qgssqlstatement.h.

JoinType QgsSQLStatement::NodeJoin::mType
protected

Definition at line 609 of file qgssqlstatement.h.

QList<QString> QgsSQLStatement::NodeJoin::mUsingColumns
protected

Definition at line 608 of file qgssqlstatement.h.


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