blob: 8429e5358c831a72d642e675d4e2386888d0909c (
plain) (
blame)
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
45
46
47
48
49
50
51
|
#ifndef SQLITEWITH_H
#define SQLITEWITH_H
#include "sqlitestatement.h"
#include "sqliteindexedcolumn.h"
class SqliteSelect;
class SqliteWith : public SqliteStatement
{
public:
class CommonTableExpression : public SqliteStatement
{
public:
enum AsMode {
ANY,
MATERIALIZED,
NOT_MATERIALIZED
};
CommonTableExpression();
CommonTableExpression(const CommonTableExpression& other);
CommonTableExpression(const QString& tableName, const QList<SqliteIndexedColumn*>& indexedColumns, SqliteSelect* select,
AsMode asMode);
SqliteStatement* clone();
QString table;
QList<SqliteIndexedColumn*> indexedColumns;
SqliteSelect* select = nullptr;
AsMode asMode = ANY;
protected:
TokenList rebuildTokensFromContents();
};
SqliteWith();
SqliteWith(const SqliteWith& other);
SqliteStatement* clone();
QList<CommonTableExpression*> cteList;
bool recursive = false;
protected:
TokenList rebuildTokensFromContents();
};
typedef QSharedPointer<SqliteWith> SqliteWithPtr;
#endif // SQLITEWITH_H
|