summaryrefslogtreecommitdiff
path: root/src/tools/clangrefactoringbackend/source/symbolindexing.h
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2017-09-19 17:56:54 +0200
committerTim Jenssen <tim.jenssen@qt.io>2017-09-20 10:45:07 +0000
commit2df9a99cac658c363b8bdf096aac4309d534a01e (patch)
tree79354c72989b083a214b5f155ef7facc93c64c3f /src/tools/clangrefactoringbackend/source/symbolindexing.h
parent623135592c069a1d760b28e96aab6a5012fccc12 (diff)
downloadqt-creator-2df9a99cac658c363b8bdf096aac4309d534a01e.tar.gz
Clang: Add RefactoringDatabaseInitializer
We moved the creation of the tables and indices to an extra class which can be called from other places. So you can be sure that a database is initialized. Change-Id: Ief5b30ced7b9011ca94367aa2578098423dcecd9 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/tools/clangrefactoringbackend/source/symbolindexing.h')
-rw-r--r--src/tools/clangrefactoringbackend/source/symbolindexing.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/tools/clangrefactoringbackend/source/symbolindexing.h b/src/tools/clangrefactoringbackend/source/symbolindexing.h
index 7a8da5aafb..4dd173e1bf 100644
--- a/src/tools/clangrefactoringbackend/source/symbolindexing.h
+++ b/src/tools/clangrefactoringbackend/source/symbolindexing.h
@@ -32,6 +32,7 @@
#include "symbolscollector.h"
#include "symbolstorage.h"
+#include <refactoringdatabaseinitializer.h>
#include <stringcache.h>
#include <sqlitedatabase.h>
@@ -47,12 +48,13 @@ public:
Sqlite::ReadStatement,
Sqlite::WriteStatement>;
using Storage = ClangBackEnd::SymbolStorage<StatementFactory>;
+ using DatabaseInitializer = RefactoringDatabaseInitializer<Sqlite::Database>;
SymbolIndexing(FilePathCache<std::mutex> &filePathCache,
Utils::PathString &&databaseFilePath)
: m_filePathCache(filePathCache),
- m_database(std::move(databaseFilePath))
-
+ m_database(std::move(databaseFilePath)),
+ m_databaseInitializer(m_database)
{
}
@@ -75,6 +77,7 @@ public:
private:
FilePathCache<std::mutex> &m_filePathCache;
Sqlite::Database m_database;
+ DatabaseInitializer m_databaseInitializer;
SymbolsCollector m_collector{m_filePathCache};
StatementFactory m_statementFactory{m_database};
Storage m_symbolStorage{m_statementFactory, m_filePathCache};