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

Protected Attributes

std::unique_ptr< NodemOnExpr
 
std::unique_ptr< NodeTableDefmTableDef
 
JoinType mType
 
QList< QString > mUsingColumns
 

Detailed Description

Join definition.

Definition at line 721 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 725 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 727 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

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

Implements QgsSQLStatement::Node.

Definition at line 744 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 718 of file qgssqlstatement.cpp.

◆ cloneThis()

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

Clone with same type return.

Definition at line 723 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 686 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 741 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 733 of file qgssqlstatement.h.

◆ tableDef()

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

Table definition.

Definition at line 730 of file qgssqlstatement.h.

◆ type()

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

Join type.

Definition at line 739 of file qgssqlstatement.h.

◆ usingColumns()

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

Columns referenced by USING.

Definition at line 736 of file qgssqlstatement.h.

Member Data Documentation

◆ mOnExpr

std::unique_ptr<Node> QgsSQLStatement::NodeJoin::mOnExpr
protected

Definition at line 760 of file qgssqlstatement.h.

◆ mTableDef

std::unique_ptr<NodeTableDef> QgsSQLStatement::NodeJoin::mTableDef
protected

Definition at line 759 of file qgssqlstatement.h.

◆ mType

JoinType QgsSQLStatement::NodeJoin::mType
protected

Definition at line 762 of file qgssqlstatement.h.

◆ mUsingColumns

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

Definition at line 761 of file qgssqlstatement.h.


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