diff options
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/parser/ast')
28 files changed, 42 insertions, 23 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitealtertable.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitealtertable.cpp index 6c840e7..49763a5 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitealtertable.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitealtertable.cpp @@ -102,7 +102,7 @@ void SqliteAlterTable::initName(const QString &name1, const QString &name2) TokenList SqliteAlterTable::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("ALTER").withSpace().withKeyword("TABLE").withSpace(); if (!database.isNull()) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteanalyze.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteanalyze.cpp index d4e5778..30396c1 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteanalyze.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteanalyze.cpp @@ -69,7 +69,7 @@ QList<SqliteStatement::FullObject> SqliteAnalyze::getFullObjectsInStatement() TokenList SqliteAnalyze::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("ANALYZE").withSpace(); if (!database.isNull()) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteattach.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteattach.cpp index 7d0b8a5..359396b 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteattach.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteattach.cpp @@ -47,7 +47,7 @@ SqliteStatement* SqliteAttach::clone() TokenList SqliteAttach::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("ATTACH").withSpace(); if (databaseKw) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitebegintrans.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitebegintrans.cpp index dcd9740..00ec9ac 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitebegintrans.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitebegintrans.cpp @@ -52,7 +52,7 @@ QString SqliteBeginTrans::typeToString(SqliteBeginTrans::Type type) TokenList SqliteBeginTrans::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("BEGIN"); if (type != Type::null) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecommittrans.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecommittrans.cpp index 97be8a9..2b1b707 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecommittrans.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecommittrans.cpp @@ -29,7 +29,7 @@ SqliteStatement* SqliteCommitTrans::clone() TokenList SqliteCommitTrans::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); if (endKw) builder.withKeyword("END"); else diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecopy.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecopy.cpp index 009f836..0d9ed9f 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecopy.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecopy.cpp @@ -73,7 +73,7 @@ QList<SqliteStatement::FullObject> SqliteCopy::getFullObjectsInStatement() TokenList SqliteCopy::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("COPY").withSpace(); if (onConflict != SqliteConflictAlgo::null) builder.withKeyword("OR").withSpace().withKeyword(sqliteConflictAlgo(onConflict)).withSpace(); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreateindex.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreateindex.cpp index 36f7aa9..16cec8f 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreateindex.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreateindex.cpp @@ -149,6 +149,7 @@ QList<SqliteStatement::FullObject> SqliteCreateIndex::getFullObjectsInStatement( TokenList SqliteCreateIndex::rebuildTokensFromContents() { StatementTokenBuilder builder; + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("CREATE").withSpace(); if (uniqueKw) builder.withKeyword("UNIQUE").withSpace(); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatetable.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatetable.cpp index e31e512..454c0e3 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatetable.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatetable.cpp @@ -208,7 +208,7 @@ QList<SqliteStatement::FullObject> SqliteCreateTable::getFullObjectsInStatement( TokenList SqliteCreateTable::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("CREATE"); if (tempKw) builder.withSpace().withKeyword("TEMP"); @@ -706,7 +706,6 @@ TokenList SqliteCreateTable::Column::rebuildTokensFromContents() TokenList SqliteCreateTable::Column::Constraint::rebuildTokensFromContents() { StatementTokenBuilder builder; - if (!name.isNull()) builder.withKeyword("CONSTRAINT").withSpace().withOther(name, dialect).withSpace(); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatetrigger.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatetrigger.cpp index 3b7b0ea..8f67aea 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatetrigger.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatetrigger.cpp @@ -322,7 +322,7 @@ SqliteCreateTrigger::Event::Type SqliteCreateTrigger::Event::stringToType(const TokenList SqliteCreateTrigger::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("CREATE").withSpace(); if (tempKw) builder.withKeyword("TEMP").withSpace(); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreateview.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreateview.cpp index 6b11c3c..d1a8961 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreateview.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreateview.cpp @@ -98,7 +98,7 @@ QList<SqliteStatement::FullObject> SqliteCreateView::getFullObjectsInStatement() TokenList SqliteCreateView::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("CREATE").withSpace(); if (tempKw) builder.withKeyword("TEMP").withSpace(); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatevirtualtable.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatevirtualtable.cpp index bc38dc9..1d98c8d 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatevirtualtable.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitecreatevirtualtable.cpp @@ -91,7 +91,7 @@ void SqliteCreateVirtualTable::initName(const QString &name1, const QString &nam TokenList SqliteCreateVirtualTable::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("CREATE").withSpace().withKeyword("VIRTUAL").withSpace().withKeyword("TABLE"); if (ifNotExistsKw) builder.withKeyword("IF").withSpace().withKeyword("NOT").withSpace().withKeyword("EXISTS").withSpace(); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedelete.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedelete.cpp index 60e5878..6026de3 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedelete.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedelete.cpp @@ -113,7 +113,7 @@ void SqliteDelete::init(const QString &name1, const QString &name2, SqliteExpr * TokenList SqliteDelete::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); if (with) builder.withStatement(with); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedetach.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedetach.cpp index 1f874d3..e5b59e3 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedetach.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedetach.cpp @@ -36,7 +36,7 @@ SqliteStatement*SqliteDetach::clone() TokenList SqliteDetach::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("DETACH").withSpace(); if (databaseKw) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedropindex.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedropindex.cpp index df924fe..2e39312 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedropindex.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedropindex.cpp @@ -63,7 +63,7 @@ QList<SqliteStatement::FullObject> SqliteDropIndex::getFullObjectsInStatement() TokenList SqliteDropIndex::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("DROP").withSpace().withKeyword("INDEX").withSpace(); if (ifExistsKw) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedroptable.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedroptable.cpp index 9c4aa37..c4fc02d 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedroptable.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedroptable.cpp @@ -71,7 +71,7 @@ QList<SqliteStatement::FullObject> SqliteDropTable::getFullObjectsInStatement() TokenList SqliteDropTable::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("DROP").withSpace().withKeyword("TABLE").withSpace(); if (ifExistsKw) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedroptrigger.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedroptrigger.cpp index 471d558..8921af3 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedroptrigger.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedroptrigger.cpp @@ -64,7 +64,7 @@ QList<SqliteStatement::FullObject> SqliteDropTrigger::getFullObjectsInStatement( TokenList SqliteDropTrigger::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("DROP").withSpace().withKeyword("TRIGGER").withSpace(); if (ifExistsKw) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedropview.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedropview.cpp index 06d70db..b992e98 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedropview.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitedropview.cpp @@ -70,7 +70,7 @@ QList<SqliteStatement::FullObject> SqliteDropView::getFullObjectsInStatement() TokenList SqliteDropView::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("DROP").withSpace().withKeyword("VIEW").withSpace(); if (ifExistsKw) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteinsert.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteinsert.cpp index 6c26e8d..cb85377 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteinsert.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteinsert.cpp @@ -167,7 +167,7 @@ void SqliteInsert::initMode(bool replace, SqliteConflictAlgo onConflict) TokenList SqliteInsert::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); if (with) builder.withStatement(with); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitepragma.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitepragma.cpp index 0e4f056..4660e4f 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitepragma.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitepragma.cpp @@ -90,7 +90,7 @@ void SqlitePragma::initName(const QString &name1, const QString &name2) TokenList SqlitePragma::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("PRAGMA").withSpace(); if (!database.isNull()) diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitequery.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitequery.cpp index 19c3c40..02eff1d 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitequery.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitequery.cpp @@ -1,4 +1,5 @@ #include "sqlitequery.h" +#include "parser/statementtokenbuilder.h" SqliteQuery::SqliteQuery() { @@ -49,3 +50,15 @@ bool SqliteQuery::isReadOnly() } return readOnly; } + +TokenList SqliteQuery::rebuildTokensFromContents() +{ + StatementTokenBuilder builder; + if (explain) + { + builder.withKeyword("EXPLAIN").withSpace(); + if (queryPlan) + builder.withKeyword("QUERY").withSpace().withKeyword("PLAN").withSpace(); + } + return builder.build(); +} diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitequery.h b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitequery.h index 1667dc9..787ccb9 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitequery.h +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitequery.h @@ -20,6 +20,9 @@ class API_EXPORT SqliteQuery : public SqliteStatement bool explain = false; bool queryPlan = false; + + protected: + TokenList rebuildTokensFromContents(); }; /** diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitereindex.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitereindex.cpp index 7584a37..6f863f9 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitereindex.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitereindex.cpp @@ -71,7 +71,7 @@ QList<SqliteStatement::FullObject> SqliteReindex::getFullObjectsInStatement() TokenList SqliteReindex::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("REINDEX"); if (!database.isNull()) builder.withOther(database, dialect).withOperator("."); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterelease.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterelease.cpp index 8510524..f71d61c 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterelease.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterelease.cpp @@ -28,7 +28,7 @@ SqliteStatement*SqliteRelease::clone() TokenList SqliteRelease::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("RELEASE").withSpace(); if (savepointKw) builder.withKeyword("SAVEPOINT").withSpace(); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterollback.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterollback.cpp index a13fd4c..01284b4 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterollback.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliterollback.cpp @@ -38,7 +38,7 @@ SqliteStatement*SqliteRollback::clone() TokenList SqliteRollback::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("ROLLBACK").withSpace(); if (transactionKw) builder.withKeyword("TRANSACTION").withSpace(); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitesavepoint.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitesavepoint.cpp index 9003086..1ac50cd 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitesavepoint.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitesavepoint.cpp @@ -27,6 +27,7 @@ SqliteStatement*SqliteSavepoint::clone() TokenList SqliteSavepoint::rebuildTokensFromContents() { StatementTokenBuilder builder; + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("SAVEPOINT").withSpace().withOther(name, dialect).withOperator(";"); return builder.build(); } diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteselect.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteselect.cpp index 5452795..f1b1929 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteselect.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteselect.cpp @@ -759,6 +759,7 @@ TokenList SqliteSelect::Core::rebuildTokensFromContents() TokenList SqliteSelect::rebuildTokensFromContents() { StatementTokenBuilder builder; + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); if (with) builder.withStatement(with); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteupdate.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteupdate.cpp index 88ac28b..df892fb 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteupdate.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteupdate.cpp @@ -168,7 +168,7 @@ QList<SqliteStatement::FullObject> SqliteUpdate::getFullObjectsInStatement() TokenList SqliteUpdate::rebuildTokensFromContents() { StatementTokenBuilder builder; - + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); if (with) builder.withStatement(with); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitevacuum.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitevacuum.cpp index ab7d00e..96ff7a4 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitevacuum.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqlitevacuum.cpp @@ -51,6 +51,7 @@ QList<SqliteStatement::FullObject> SqliteVacuum::getFullObjectsInStatement() TokenList SqliteVacuum::rebuildTokensFromContents() { StatementTokenBuilder builder; + builder.withTokens(SqliteQuery::rebuildTokensFromContents()); builder.withKeyword("VACUUM").withOperator(";"); return builder.build(); } |
