From 16d5bf0afcee6c080d78219842c88f377c4bc6ce Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Wed, 10 Apr 2019 18:21:22 +0200 Subject: ClangRefactoring: Move transaction in fetchPrecompiledHeader Prepare the move of fetchPrecompiledHeader in the lambda to execute it in the thread. Change-Id: I00f906196dabfdb5cd38f4b9752d92678236b849 Reviewed-by: Ivan Donchevskii --- src/tools/clangrefactoringbackend/source/symbolindexer.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'src/tools/clangrefactoringbackend/source/symbolindexer.cpp') diff --git a/src/tools/clangrefactoringbackend/source/symbolindexer.cpp b/src/tools/clangrefactoringbackend/source/symbolindexer.cpp index 2fa2480a37..cb47b6f5d2 100644 --- a/src/tools/clangrefactoringbackend/source/symbolindexer.cpp +++ b/src/tools/clangrefactoringbackend/source/symbolindexer.cpp @@ -90,13 +90,9 @@ void SymbolIndexer::updateProjectParts(ProjectPartContainers &&projectParts) void SymbolIndexer::updateProjectPart(ProjectPartContainer &&projectPart) { - Sqlite::DeferredTransaction transaction{m_transactionInterface}; - ProjectPartId projectPartId = projectPart.projectPartId; const FilePath pchPath = m_precompiledHeaderStorage.fetchPrecompiledHeader(projectPartId); - transaction.commit(); - using Builder = CommandLineBuilder; Builder commandLineBuilder{ projectPart, projectPart.toolChainArguments, InputFileType::Source, {}, {}, pchPath}; @@ -157,17 +153,16 @@ void SymbolIndexer::updateChangedPath(FilePathId filePathId, optionalArtefact = m_projectPartsStorage.fetchProjectPartArtefact(filePathId); if (!optionalArtefact) return; + transaction.commit(); const FilePath pchPath = m_precompiledHeaderStorage.fetchPrecompiledHeader( optionalArtefact->projectPartId); - transaction.commit(); - SourceTimeStamps dependentTimeStamps = m_symbolStorage.fetchIncludedIndexingTimeStamps(filePathId); const ProjectPartArtefact &artefact = *optionalArtefact; - CommandLineBuilder - builder{artefact, artefact.toolChainArguments, InputFileType::Source, {}, {}, pchPath}; + CommandLineBuilder builder{ + artefact, artefact.toolChainArguments, InputFileType::Source, {}, {}, pchPath}; auto indexing = [arguments = builder.commandLine, filePathId, this]( SymbolsCollectorInterface &symbolsCollector) { -- cgit v1.2.1