1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#ifndef SQLITEORDERBY_H
#define SQLITEORDERBY_H
#include "sqlitestatement.h"
#include "sqlitesortorder.h"
#include "sqlitenulls.h"
#include "sqliteextendedindexedcolumn.h"
class SqliteExpr;
class API_EXPORT SqliteOrderBy : public SqliteStatement, public SqliteExtendedIndexedColumn
{
Q_OBJECT
public:
SqliteOrderBy();
SqliteOrderBy(const SqliteOrderBy& other);
SqliteOrderBy(SqliteExpr* expr, SqliteSortOrder order, SqliteNulls nulls);
~SqliteOrderBy();
SqliteStatement* clone();
bool isSimpleColumn() const;
QString getColumnName() const;
QString getCollation() const;
QString getColumnString() const;
void setColumnName(const QString& name);
void setCollation(const QString& name);
void clearCollation();
SqliteExpr* expr = nullptr;
SqliteSortOrder order = SqliteSortOrder::null;
SqliteNulls nulls = SqliteNulls::null;
protected:
TokenList rebuildTokensFromContents();
void evaluatePostParsing();
private:
void pullLastCollationAsOuterExpr();
};
typedef QSharedPointer<SqliteOrderBy> SqliteOrderByPtr;
#endif // SQLITEORDERBY_H
|