blob: 6d7c770b3711f619de76ff433e5b625d438ebdae (
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
52
53
|
#ifndef VIEWMODIFIER_H
#define VIEWMODIFIER_H
#include "db/db.h"
#include "parser/ast/sqlitecreateview.h"
#include "parser/ast/sqlitecreatetrigger.h"
#include <QString>
class API_EXPORT ViewModifier
{
public:
ViewModifier(Db* db, const QString& view);
ViewModifier(Db* db, const QString& database, const QString& view);
void alterView(const QString& newView);
void alterView(SqliteCreateViewPtr newView);
QStringList generateSqls() const;
QList<bool> getMandatoryFlags() const;
QStringList getWarnings() const;
QStringList getErrors() const;
bool hasMessages() const;
private:
void handleTriggers();
void collectNewColumns();
void addMandatorySql(const QString& sql);
void addOptionalSql(const QString& sql);
bool handleNewColumns(SqliteCreateTriggerPtr trigger);
Db* db = nullptr;
Dialect dialect;
QString database;
QString view;
/**
* @brief sqls Statements to be executed to make changes real.
*/
QStringList sqls;
QList<bool> sqlMandatoryFlags;
QStringList warnings;
QStringList errors;
/**
* @brief createView Original DDL.
*/
SqliteCreateViewPtr createView;
QStringList newColumns;
};
#endif // VIEWMODIFIER_H
|