22#include " ../token.h"
33#include " ../lexer.h"
44#include " common/unused.h"
5+ #include " services/dbmanager.h"
56#include < QDebug>
67
78SqliteStatement::SqliteStatement ()
@@ -35,6 +36,7 @@ QStringList SqliteStatement::getContextTables(bool checkParent, bool checkChilds
3536
3637QStringList SqliteStatement::getContextDatabases (bool checkParent, bool checkChilds)
3738{
39+ prepareDbNames ();
3840 return getContextDatabases (this , checkParent, checkChilds);
3941}
4042
@@ -50,6 +52,7 @@ TokenList SqliteStatement::getContextTableTokens(bool checkParent, bool checkChi
5052
5153TokenList SqliteStatement::getContextDatabaseTokens (bool checkParent, bool checkChilds)
5254{
55+ prepareDbNames ();
5356 return getContextDatabaseTokens (this , checkParent, checkChilds);
5457}
5558
@@ -125,7 +128,10 @@ QStringList SqliteStatement::getContextDatabases(SqliteStatement *caller, bool c
125128{
126129 QStringList results = getDatabasesInStatement ();
127130 for (SqliteStatement* stmt : getContextStatements (caller, checkParent, checkChilds))
131+ {
132+ stmt->validDbNames = this ->validDbNames ;
128133 results += stmt->getContextDatabases (this , checkParent, checkChilds);
134+ }
129135
130136 return results;
131137}
@@ -152,7 +158,10 @@ TokenList SqliteStatement::getContextDatabaseTokens(SqliteStatement *caller, boo
152158{
153159 TokenList results = getDatabaseTokensInStatement ();
154160 for (SqliteStatement* stmt : getContextStatements (caller, checkParent, checkChilds))
161+ {
162+ stmt->validDbNames = this ->validDbNames ;
155163 results += stmt->getContextDatabaseTokens (this , checkParent, checkChilds);
164+ }
156165
157166 return results;
158167}
@@ -236,6 +245,11 @@ QList<SqliteStatement *> SqliteStatement::getContextStatements(SqliteStatement *
236245 return results;
237246}
238247
248+ void SqliteStatement::prepareDbNames ()
249+ {
250+ validDbNames = DBLIST->getValidDbNames ();
251+ }
252+
239253TokenList SqliteStatement::extractPrintableTokens (const TokenList &tokens, bool skipMeaningless)
240254{
241255 TokenList list;
0 commit comments