QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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 (QgsSQLStatement::NodeTableDef *tabledef, const QList< QString > &usingColumns, QgsSQLStatement::JoinType type)
 Constructor with table definition and USING columns. More...
 
 NodeJoin (QgsSQLStatement::NodeTableDef *tabledef, QgsSQLStatement::Node *onExpr, QgsSQLStatement::JoinType type)
 Constructor with table definition, ON expression. More...
 
 ~NodeJoin () override
 
void accept (QgsSQLStatement::Visitor &v) const override
 Support the visitor pattern. More...
 
QgsSQLStatement::Nodeclone () const override
 Generate a clone of this node. More...
 
QgsSQLStatement::NodeJoincloneThis () const
 Clone with same type return. More...
 
QString dump () const override
 Abstract virtual dump method. More...
 
QgsSQLStatement::NodeType nodeType () const override
 Abstract virtual that returns the type of this node. More...
 
QgsSQLStatement::NodeonExpr () const
 On expression. Will be nullptr if usingColumns() is not empty. More...
 
QgsSQLStatement::NodeTableDeftableDef () const
 Table definition. More...
 
QgsSQLStatement::JoinType type () const
 Join type. More...
 
QList< QString > usingColumns () const
 Columns referenced by USING. More...
 
- Public Member Functions inherited from QgsSQLStatement::Node
virtual ~Node ()=default
 
virtual void accept (QgsSQLStatement::Visitor &v) const =0
 Support the visitor pattern. More...
 
virtual QgsSQLStatement::Nodeclone () const =0
 Generate a clone of this node. More...
 
virtual QString dump () const =0
 Abstract virtual dump method. More...
 
virtual QgsSQLStatement::NodeType nodeType () const =0
 Abstract virtual that returns the type of this node. More...
 

Protected Attributes

NodemOnExpr = nullptr
 
NodeTableDefmTableDef = nullptr
 
JoinType mType
 
QList< QString > mUsingColumns
 

Detailed Description

Join definition.

Definition at line 668 of file qgssqlstatement.h.

Constructor & Destructor Documentation

◆ NodeJoin() [1/2]

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

Constructor with table definition, ON expression.

Definition at line 672 of file qgssqlstatement.h.

◆ NodeJoin() [2/2]

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

Constructor with table definition and USING columns.

Definition at line 674 of file qgssqlstatement.h.

◆ ~NodeJoin()

QgsSQLStatement::NodeJoin::~NodeJoin ( )
inlineoverride

Definition at line 675 of file qgssqlstatement.h.

Member Function Documentation

◆ accept()

void QgsSQLStatement::NodeJoin::accept ( QgsSQLStatement::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 692 of file qgssqlstatement.h.

◆ clone()

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 720 of file qgssqlstatement.cpp.

◆ cloneThis()

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

Clone with same type return.

Definition at line 725 of file qgssqlstatement.cpp.

◆ dump()

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 688 of file qgssqlstatement.cpp.

◆ nodeType()

QgsSQLStatement::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 689 of file qgssqlstatement.h.

◆ onExpr()

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

On expression. Will be nullptr if usingColumns() is not empty.

Definition at line 681 of file qgssqlstatement.h.

◆ tableDef()

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

Table definition.

Definition at line 678 of file qgssqlstatement.h.

◆ type()

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

Join type.

Definition at line 687 of file qgssqlstatement.h.

◆ usingColumns()

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

Columns referenced by USING.

Definition at line 684 of file qgssqlstatement.h.

Member Data Documentation

◆ mOnExpr

Node* QgsSQLStatement::NodeJoin::mOnExpr = nullptr
protected

Definition at line 699 of file qgssqlstatement.h.

◆ mTableDef

NodeTableDef* QgsSQLStatement::NodeJoin::mTableDef = nullptr
protected

Definition at line 698 of file qgssqlstatement.h.

◆ mType

JoinType QgsSQLStatement::NodeJoin::mType
protected

Definition at line 701 of file qgssqlstatement.h.

◆ mUsingColumns

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

Definition at line 700 of file qgssqlstatement.h.


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