QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Public Member Functions | Protected Attributes | List of all members
QgsSQLStatement::NodeSelect Class Reference

SELECT node. More...

#include <qgssqlstatement.h>

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

Public Member Functions

 NodeSelect (const QList< QgsSQLStatement::NodeTableDef * > &tableList, const QList< QgsSQLStatement::NodeSelectedColumn * > &columns, bool distinct)
 Constructor. More...
 
 ~NodeSelect () override
 
void accept (QgsSQLStatement::Visitor &v) const override
 Support the visitor pattern. More...
 
void appendJoin (QgsSQLStatement::NodeJoin *join)
 Append a join. More...
 
QgsSQLStatement::Nodeclone () const override
 Generate a clone of this node. More...
 
QList< QgsSQLStatement::NodeSelectedColumn * > columns () const
 Returns the list of columns. More...
 
bool distinct () const
 Returns if the SELECT is DISTINCT. More...
 
QString dump () const override
 Abstract virtual dump method. More...
 
QList< QgsSQLStatement::NodeJoin * > joins () const
 Returns the list of joins. More...
 
QgsSQLStatement::NodeType nodeType () const override
 Abstract virtual that returns the type of this node. More...
 
QList< QgsSQLStatement::NodeColumnSorted * > orderBy () const
 Returns the list of order by columns. More...
 
void setJoins (const QList< QgsSQLStatement::NodeJoin * > &joins)
 Sets joins. More...
 
void setOrderBy (const QList< QgsSQLStatement::NodeColumnSorted * > &orderBy)
 Sets order by columns. More...
 
void setWhere (QgsSQLStatement::Node *where)
 Sets where clause. More...
 
QList< QgsSQLStatement::NodeTableDef * > tables () const
 Returns the list of tables. More...
 
QgsSQLStatement::Nodewhere () const
 Returns the where clause. More...
 
- Public Member Functions inherited from QgsSQLStatement::Node
virtual ~Node ()=default
 

Protected Attributes

QList< NodeSelectedColumn * > mColumns
 
bool mDistinct
 
QList< NodeJoin * > mJoins
 
QList< NodeColumnSorted * > mOrderBy
 
QList< NodeTableDef * > mTableList
 
NodemWhere = nullptr
 

Detailed Description

SELECT node.

Definition at line 725 of file qgssqlstatement.h.

Constructor & Destructor Documentation

◆ NodeSelect()

QgsSQLStatement::NodeSelect::NodeSelect ( const QList< QgsSQLStatement::NodeTableDef * > &  tableList,
const QList< QgsSQLStatement::NodeSelectedColumn * > &  columns,
bool  distinct 
)
inline

Constructor.

Definition at line 729 of file qgssqlstatement.h.

◆ ~NodeSelect()

QgsSQLStatement::NodeSelect::~NodeSelect ( )
override

Definition at line 584 of file qgssqlstatement.cpp.

Member Function Documentation

◆ accept()

void QgsSQLStatement::NodeSelect::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 757 of file qgssqlstatement.h.

◆ appendJoin()

void QgsSQLStatement::NodeSelect::appendJoin ( QgsSQLStatement::NodeJoin join)
inline

Append a join.

Definition at line 735 of file qgssqlstatement.h.

◆ clone()

QgsSQLStatement::Node * QgsSQLStatement::NodeSelect::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 644 of file qgssqlstatement.cpp.

◆ columns()

QList<QgsSQLStatement::NodeSelectedColumn *> QgsSQLStatement::NodeSelect::columns ( ) const
inline

Returns the list of columns.

Definition at line 744 of file qgssqlstatement.h.

◆ distinct()

bool QgsSQLStatement::NodeSelect::distinct ( ) const
inline

Returns if the SELECT is DISTINCT.

Definition at line 746 of file qgssqlstatement.h.

◆ dump()

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

Abstract virtual dump method.

Returns
A statement which represents this node as string

Implements QgsSQLStatement::Node.

Definition at line 593 of file qgssqlstatement.cpp.

◆ joins()

QList<QgsSQLStatement::NodeJoin *> QgsSQLStatement::NodeSelect::joins ( ) const
inline

Returns the list of joins.

Definition at line 748 of file qgssqlstatement.h.

◆ nodeType()

QgsSQLStatement::NodeType QgsSQLStatement::NodeSelect::nodeType ( ) const
inlineoverridevirtual

Abstract virtual that returns the type of this node.

Returns
The type of this node

Implements QgsSQLStatement::Node.

Definition at line 754 of file qgssqlstatement.h.

◆ orderBy()

QList<QgsSQLStatement::NodeColumnSorted *> QgsSQLStatement::NodeSelect::orderBy ( ) const
inline

Returns the list of order by columns.

Definition at line 752 of file qgssqlstatement.h.

◆ setJoins()

void QgsSQLStatement::NodeSelect::setJoins ( const QList< QgsSQLStatement::NodeJoin * > &  joins)
inline

Sets joins.

Definition at line 733 of file qgssqlstatement.h.

◆ setOrderBy()

void QgsSQLStatement::NodeSelect::setOrderBy ( const QList< QgsSQLStatement::NodeColumnSorted * > &  orderBy)
inline

Sets order by columns.

Definition at line 739 of file qgssqlstatement.h.

◆ setWhere()

void QgsSQLStatement::NodeSelect::setWhere ( QgsSQLStatement::Node where)
inline

Sets where clause.

Definition at line 737 of file qgssqlstatement.h.

◆ tables()

QList<QgsSQLStatement::NodeTableDef *> QgsSQLStatement::NodeSelect::tables ( ) const
inline

Returns the list of tables.

Definition at line 742 of file qgssqlstatement.h.

◆ where()

QgsSQLStatement::Node* QgsSQLStatement::NodeSelect::where ( ) const
inline

Returns the where clause.

Definition at line 750 of file qgssqlstatement.h.

Member Data Documentation

◆ mColumns

QList<NodeSelectedColumn *> QgsSQLStatement::NodeSelect::mColumns
protected

Definition at line 762 of file qgssqlstatement.h.

◆ mDistinct

bool QgsSQLStatement::NodeSelect::mDistinct
protected

Definition at line 763 of file qgssqlstatement.h.

◆ mJoins

QList<NodeJoin *> QgsSQLStatement::NodeSelect::mJoins
protected

Definition at line 764 of file qgssqlstatement.h.

◆ mOrderBy

QList<NodeColumnSorted *> QgsSQLStatement::NodeSelect::mOrderBy
protected

Definition at line 766 of file qgssqlstatement.h.

◆ mTableList

QList<NodeTableDef *> QgsSQLStatement::NodeSelect::mTableList
protected

Definition at line 761 of file qgssqlstatement.h.

◆ mWhere

Node* QgsSQLStatement::NodeSelect::mWhere = nullptr
protected

Definition at line 765 of file qgssqlstatement.h.


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