QGIS API Documentation  3.4.15-Madeira (e83d02e274)
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 703 of file qgssqlstatement.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 707 of file qgssqlstatement.h.

QgsSQLStatement::NodeSelect::~NodeSelect ( )
override

Definition at line 561 of file qgssqlstatement.cpp.

Member Function Documentation

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 735 of file qgssqlstatement.h.

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

Append a join.

Definition at line 713 of file qgssqlstatement.h.

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

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

Returns the list of columns.

Definition at line 722 of file qgssqlstatement.h.

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

Returns if the SELECT is DISTINCT.

Definition at line 724 of file qgssqlstatement.h.

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

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

Returns the list of joins.

Definition at line 726 of file qgssqlstatement.h.

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 732 of file qgssqlstatement.h.

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

Returns the list of order by columns.

Definition at line 730 of file qgssqlstatement.h.

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

Sets joins.

Definition at line 711 of file qgssqlstatement.h.

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

Sets order by columns.

Definition at line 717 of file qgssqlstatement.h.

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

Sets where clause.

Definition at line 715 of file qgssqlstatement.h.

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

Returns the list of tables.

Definition at line 720 of file qgssqlstatement.h.

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

Returns the where clause.

Definition at line 728 of file qgssqlstatement.h.

Member Data Documentation

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

Definition at line 740 of file qgssqlstatement.h.

bool QgsSQLStatement::NodeSelect::mDistinct
protected

Definition at line 741 of file qgssqlstatement.h.

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

Definition at line 742 of file qgssqlstatement.h.

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

Definition at line 744 of file qgssqlstatement.h.

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

Definition at line 739 of file qgssqlstatement.h.

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

Definition at line 743 of file qgssqlstatement.h.


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