From 7167ce41b61d2ba2cdb526777a4233eb84a3b66a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 6 Dec 2014 17:33:25 -0500 Subject: Imported Upstream version 2.99.6 --- SQLiteStudio3/coreSQLiteStudio/viewmodifier.h | 53 +++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 SQLiteStudio3/coreSQLiteStudio/viewmodifier.h (limited to 'SQLiteStudio3/coreSQLiteStudio/viewmodifier.h') diff --git a/SQLiteStudio3/coreSQLiteStudio/viewmodifier.h b/SQLiteStudio3/coreSQLiteStudio/viewmodifier.h new file mode 100644 index 0000000..6d7c770 --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/viewmodifier.h @@ -0,0 +1,53 @@ +#ifndef VIEWMODIFIER_H +#define VIEWMODIFIER_H + +#include "db/db.h" +#include "parser/ast/sqlitecreateview.h" +#include "parser/ast/sqlitecreatetrigger.h" +#include + +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 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 sqlMandatoryFlags; + + QStringList warnings; + QStringList errors; + + /** + * @brief createView Original DDL. + */ + SqliteCreateViewPtr createView; + + QStringList newColumns; +}; + +#endif // VIEWMODIFIER_H -- cgit v1.2.3