2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								/****************************************************************************
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  Copyright  ( C )  2017  The  Qt  Company  Ltd . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  Contact :  https : //www.qt.io/licensing/
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  This  file  is  part  of  Qt  Creator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  Commercial  License  Usage 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  Licensees  holding  valid  commercial  Qt  licenses  may  use  this  file  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  accordance  with  the  commercial  license  agreement  provided  with  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  Software  or ,  alternatively ,  in  accordance  with  the  terms  contained  in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  a  written  agreement  between  you  and  The  Qt  Company .  For  licensing  terms 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  and  conditions  see  https : //www.qt.io/terms-conditions. For further
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  information  use  the  contact  form  at  https : //www.qt.io/contact-us.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  GNU  General  Public  License  Usage 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  Alternatively ,  this  file  may  be  used  under  the  terms  of  the  GNU 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  General  Public  License  version  3  as  published  by  the  Free  Software 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  Foundation  with  exceptions  as  appearing  in  the  file  LICENSE . GPL3 - EXCEPT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  included  in  the  packaging  of  this  file .  Please  review  the  following 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  information  to  ensure  the  GNU  General  Public  License  requirements  will 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* *  be  met :  https : //www.gnu.org/licenses/gpl-3.0.html.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  "googletest.h" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  <mocksqlitedatabase.h> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  <refactoringdatabaseinitializer.h> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								namespace  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								using  Initializer  =  ClangBackEnd : : RefactoringDatabaseInitializer < NiceMock < MockSqliteDatabase > > ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								using  Sqlite : : Table ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  RefactoringDatabaseInitializer  :  public  testing : : Test 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								protected : 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-22 14:21:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    NiceMock < MockSqliteDatabase >  mockDatabase ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    Initializer  initializer { mockDatabase } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddSymbolsTable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-09 13:30:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS symbols(symbolId INTEGER PRIMARY KEY, usr TEXT, symbolName TEXT, symbolKind INTEGER, signature TEXT) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_symbols_usr ON symbols(usr) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-09 13:30:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_symbols_symbolKind_symbolName ON symbols(symbolKind, symbolName) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    initializer . createSymbolsTable ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddLocationsTable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-09 13:30:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS locations(symbolId INTEGER, line INTEGER, column INTEGER, sourceId INTEGER, locationKind INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-03-27 14:24:50 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_locations_sourceId_line_column ON locations(sourceId, line, column) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-09 13:30:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_locations_sourceId_locationKind ON locations(sourceId, locationKind) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-22 16:10:38 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    " CREATE INDEX IF NOT EXISTS index_locations_symbolId ON locations(symbolId) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    initializer . createLocationsTable ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddSourcesTable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-11-07 17:48:25 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS sources(sourceId INTEGER PRIMARY KEY, directoryId INTEGER, sourceName TEXT) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-03-27 14:24:50 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_sources_directoryId_sourceName ON sources(directoryId, sourceName) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    initializer . createSourcesTable ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-21 11:43:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddDirectoriesTable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS directories(directoryId INTEGER PRIMARY KEY, directoryPath TEXT) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-03-27 14:24:50 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_directories_directoryPath ON directories(directoryPath) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-27 16:52:04 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-21 11:43:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    initializer . createDirectoriesTable ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-12-27 16:52:04 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddProjectPartsTable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-01-23 14:10:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectParts(projectPartId INTEGER PRIMARY  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " KEY, projectPartName TEXT, toolChainArguments TEXT, compilerMacros  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " TEXT, systemIncludeSearchPaths TEXT, projectIncludeSearchPaths TEXT,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " language INTEGER, languageVersion INTEGER, languageExtension INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-03-27 14:24:50 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_projectParts_projectPartName ON projectParts(projectPartName) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-27 16:52:04 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    initializer . createProjectPartsTable ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-03-13 15:09:30 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddProjectPartsFilesTable ) 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-22 14:21:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 19:07:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-13 15:09:30 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectPartsFiles(projectPartId INTEGER,  " 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-28 17:52:34 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                           " sourceId INTEGER, sourceType INTEGER, pchCreationTimeStamp INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " hasMissingIncludes INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-13 15:09:30 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_projectPartsFiles_sourceId_projectPartId ON projectPartsFiles(sourceId, projectPartId) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-18 18:26:27 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    " CREATE INDEX IF NOT EXISTS index_projectPartsFiles_projectPartId_sourceType  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    " ON projectPartsFiles(projectPartId, sourceType) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-22 14:21:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-03-13 15:09:30 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    initializer . createProjectPartsFilesTable ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-22 14:21:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-25 15:20:47 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddUsedMacrosTable ) 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-23 18:42:39 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-25 15:20:47 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS usedMacros(usedMacroId INTEGER PRIMARY KEY, sourceId INTEGER, macroName TEXT) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_usedMacros_sourceId_macroName ON usedMacros(sourceId, macroName) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_usedMacros_macroName ON usedMacros(macroName) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-23 18:42:39 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-25 15:20:47 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    initializer . createUsedMacrosTable ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-23 18:42:39 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-02-01 18:29:45 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddFileStatusesTable ) 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-29 15:15:44 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 19:07:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        execute ( Eq ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            " CREATE TABLE IF NOT EXISTS fileStatuses(sourceId INTEGER PRIMARY KEY, size INTEGER,  " 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-21 17:55:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            " lastModified INTEGER, indexingTimeStamp INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-29 15:15:44 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-02-01 18:29:45 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    initializer . createFileStatusesTable ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-29 15:15:44 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-30 14:34:06 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddSourceDependenciesTable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-03-21 17:55:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS sourceDependencies(sourceId INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " dependencySourceId INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        execute ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Eq ( " CREATE INDEX IF NOT EXISTS index_sourceDependencies_sourceId_dependencySourceId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               " sourceDependencies(sourceId, dependencySourceId) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        execute ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Eq ( " CREATE INDEX IF NOT EXISTS index_sourceDependencies_dependencySourceId_sourceId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               " sourceDependencies(dependencySourceId, sourceId) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-30 14:34:06 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    initializer . createSourceDependenciesTable ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-02-20 12:43:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddPrecompiledHeaderTable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-12-04 19:03:48 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS precompiledHeaders(projectPartId INTEGER PRIMARY KEY, projectPchPath TEXT, projectPchBuildTime INTEGER, systemPchPath TEXT, systemPchBuildTime INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-02-20 12:43:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    initializer . createPrecompiledHeadersTable ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-03-13 15:09:30 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddProjectPartsHeadersTable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectPartsHeaders(projectPartId INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " sourceId INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_projectPartsHeaders_projectPartId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " projectPartsHeaders(projectPartId) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    initializer . createProjectPartsHeadersTable ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  AddProjectPartsSourcesTable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectPartsSources(projectPartId INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " sourceId INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_projectPartsSources_projectPartId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " projectPartsSources(projectPartId) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    initializer . createProjectPartsSourcesTable ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  CreateInTheContructor ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-25 15:42:52 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  isInitialized ( ) ) . WillOnce ( Return ( false ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  exclusiveBegin ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-21 17:55:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS symbols(symbolId INTEGER PRIMARY KEY, usr  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " TEXT, symbolName TEXT, symbolKind INTEGER, signature TEXT) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_symbols_usr ON symbols(usr) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_symbols_symbolKind_symbolName ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " symbols(symbolKind, symbolName) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS locations(symbolId INTEGER, line INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " column INTEGER, sourceId INTEGER, locationKind INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_locations_sourceId_line_column  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " ON locations(sourceId, line, column) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_locations_sourceId_locationKind ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " locations(sourceId, locationKind) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-22 16:10:38 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    " CREATE INDEX IF NOT EXISTS index_locations_symbolId ON locations(symbolId) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-21 17:55:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS sources(sourceId INTEGER PRIMARY KEY,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " directoryId INTEGER, sourceName TEXT) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_sources_directoryId_sourceName  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " ON sources(directoryId, sourceName) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS directories(directoryId INTEGER PRIMARY  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " KEY, directoryPath TEXT) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_directories_directoryPath ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " directories(directoryPath) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-23 14:10:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    Eq ( " CREATE TABLE IF NOT EXISTS projectParts(projectPartId INTEGER PRIMARY  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                       " KEY, projectPartName TEXT, toolChainArguments TEXT, compilerMacros  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                       " TEXT, systemIncludeSearchPaths TEXT, projectIncludeSearchPaths TEXT,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                       " language INTEGER, languageVersion INTEGER, languageExtension INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-21 17:55:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_projectParts_projectPartName  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " ON projectParts(projectPartName) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 19:07:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-13 15:09:30 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectPartsFiles(projectPartId INTEGER,  " 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-28 17:52:34 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                           " sourceId INTEGER, sourceType INTEGER, pchCreationTimeStamp INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " hasMissingIncludes INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-21 17:55:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        execute ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_projectPartsFiles_sourceId_projectPartId  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               " ON projectPartsFiles(sourceId, projectPartId) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-18 18:26:27 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_projectPartsFiles_projectPartId_sourceType ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                   " projectPartsFiles(projectPartId, sourceType) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-21 17:55:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS usedMacros(usedMacroId INTEGER PRIMARY KEY,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " sourceId INTEGER, macroName TEXT) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_usedMacros_sourceId_macroName ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " usedMacros(sourceId, macroName) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        execute ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Eq ( " CREATE INDEX IF NOT EXISTS index_usedMacros_macroName ON usedMacros(macroName) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 19:07:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        execute ( Eq ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            " CREATE TABLE IF NOT EXISTS fileStatuses(sourceId INTEGER PRIMARY KEY, size INTEGER,  " 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-21 17:55:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            " lastModified INTEGER, indexingTimeStamp INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS sourceDependencies(sourceId INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " dependencySourceId INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        execute ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Eq ( " CREATE INDEX IF NOT EXISTS index_sourceDependencies_sourceId_dependencySourceId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               " sourceDependencies(sourceId, dependencySourceId) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        execute ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Eq ( " CREATE INDEX IF NOT EXISTS index_sourceDependencies_dependencySourceId_sourceId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               " sourceDependencies(dependencySourceId, sourceId) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS precompiledHeaders(projectPartId INTEGER  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " PRIMARY KEY, projectPchPath TEXT, projectPchBuildTime INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " systemPchPath TEXT, systemPchBuildTime INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-13 15:09:30 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectPartsHeaders(projectPartId INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " sourceId INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_projectPartsHeaders_projectPartId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " projectPartsHeaders(projectPartId) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectPartsSources(projectPartId INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " sourceId INTEGER) " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_projectPartsSources_projectPartId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " projectPartsSources(projectPartId) " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-22 14:21:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  commit ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-25 15:42:52 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  setIsInitialized ( true ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Initializer  initializer { mockDatabase } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-25 15:42:52 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								TEST_F ( RefactoringDatabaseInitializer ,  DontCreateIfAlreadyInitialized ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    InSequence  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  isInitialized ( ) ) . WillOnce ( Return ( true ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  exclusiveBegin ( ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS symbols(symbolId INTEGER PRIMARY KEY, usr TEXT, symbolName TEXT, symbolKind INTEGER, signature TEXT) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_symbols_usr ON symbols(usr) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_symbols_symbolKind_symbolName ON symbols(symbolKind, symbolName) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS locations(symbolId INTEGER, line INTEGER, column INTEGER, sourceId INTEGER, locationKind INTEGER) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_locations_sourceId_line_column ON locations(sourceId, line, column) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_locations_sourceId_locationKind ON locations(sourceId, locationKind) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS sources(sourceId INTEGER PRIMARY KEY, directoryId INTEGER, sourceName TEXT, sourceType INTEGER) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_sources_directoryId_sourceName ON sources(directoryId, sourceName) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS directories(directoryId INTEGER PRIMARY KEY, directoryPath TEXT) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_directories_directoryPath ON directories(directoryPath) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-23 14:10:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectParts(projectPartId INTEGER PRIMARY  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " KEY, projectPartName TEXT, toolChainArguments TEXT, compilerMacros  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " TEXT, includeSearchPaths TEXT) " ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        . Times ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-25 15:42:52 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_projectParts_projectPartName ON projectParts(projectPartName) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-13 15:09:30 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectPartsFiles(projectPartId INTEGER, sourceId INTEGER) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE UNIQUE INDEX IF NOT EXISTS index_projectPartsFiles_sourceId_projectPartId ON projectPartsFiles(sourceId, projectPartId) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_projectPartsFiles_projectPartId ON projectPartsFiles(projectPartId) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-25 15:42:52 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS usedMacros(usedMacroId INTEGER PRIMARY KEY, sourceId INTEGER, macroName TEXT) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_usedMacros_sourceId_macroName ON usedMacros(sourceId, macroName) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_usedMacros_macroName ON usedMacros(macroName) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 19:07:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS fileStatuses(sourceId INTEGER PRIMARY KEY,  " 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-21 17:55:24 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                           " size INTEGER, lastModified INTEGER, indexingTimeStamp INTEGER) " ) ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 19:07:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        . Times ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-25 15:42:52 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS sourceDependencies(sourceId INTEGER, dependencySourceId INTEGER) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_sourceDependencies_sourceId_dependencySourceId ON sourceDependencies(sourceId, dependencySourceId) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  execute ( Eq ( " CREATE TABLE IF NOT EXISTS precompiledHeaders(projectPartId INTEGER PRIMARY KEY, pchPath TEXT, pchBuildTime INTEGER) " ) ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-13 15:09:30 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectPartsHeaders(projectPartId INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " sourceId INTEGER) " ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_projectPartsHeaders_projectPartId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " projectPartsHeaders(projectPartId) " ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE TABLE IF NOT EXISTS projectPartsSources(projectPartId INTEGER,  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " sourceId INTEGER) " ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                execute ( Eq ( " CREATE INDEX IF NOT EXISTS index_projectPartsSources_projectPartId ON  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                           " projectPartsSources(projectPartId) " ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        . Times ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-25 15:42:52 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    EXPECT_CALL ( mockDatabase ,  commit ( ) ) . Times ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Initializer  initializer { mockDatabase } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-19 17:56:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								}