diff --git a/src/libs/clangsupport/refactoringdatabaseinitializer.h b/src/libs/clangsupport/refactoringdatabaseinitializer.h index c1696d0ecf8..4d84e01f879 100644 --- a/src/libs/clangsupport/refactoringdatabaseinitializer.h +++ b/src/libs/clangsupport/refactoringdatabaseinitializer.h @@ -45,6 +45,7 @@ public: createLocationsTable(); createSourcesTable(); createDirectoriesTable(); + createProjectPartsTable(); transaction.commit(); } @@ -102,6 +103,19 @@ public: table.initialize(database); } + void createProjectPartsTable() + { + Sqlite::Table table; + table.setUseIfNotExists(true); + table.setName("projectParts"); + table.addColumn("projectPartId", Sqlite::ColumnType::Integer, Sqlite::Contraint::PrimaryKey); + const Sqlite::Column &projectPartNameColumn = table.addColumn("projectPartName", Sqlite::ColumnType::Text); + table.addColumn("compilerArguments", Sqlite::ColumnType::Text); + table.addIndex({projectPartNameColumn}); + + table.initialize(database); + } + public: DatabaseType &database; }; diff --git a/tests/unit/unittest/refactoringdatabaseinitializer-test.cpp b/tests/unit/unittest/refactoringdatabaseinitializer-test.cpp index 4687140dab4..ab5691d4ec5 100644 --- a/tests/unit/unittest/refactoringdatabaseinitializer-test.cpp +++ b/tests/unit/unittest/refactoringdatabaseinitializer-test.cpp @@ -79,9 +79,19 @@ TEST_F(RefactoringDatabaseInitializer, AddDirectoriesTable) EXPECT_CALL(mockDatabase, execute(Eq("CREATE TABLE IF NOT EXISTS directories(directoryId INTEGER PRIMARY KEY, directoryPath TEXT)"))); EXPECT_CALL(mockDatabase, execute(Eq("CREATE INDEX IF NOT EXISTS index_directories_directoryPath ON directories(directoryPath)"))); + initializer.createDirectoriesTable(); } +TEST_F(RefactoringDatabaseInitializer, AddProjectPartsTable) +{ + InSequence s; + + EXPECT_CALL(mockDatabase, execute(Eq("CREATE TABLE IF NOT EXISTS projectParts(projectPartId INTEGER PRIMARY KEY, projectPartName TEXT, compilerArguments TEXT)"))); + EXPECT_CALL(mockDatabase, execute(Eq("CREATE INDEX IF NOT EXISTS index_projectParts_projectPartName ON projectParts(projectPartName)"))); + + initializer.createProjectPartsTable(); +} TEST_F(RefactoringDatabaseInitializer, CreateInTheContructor) { @@ -97,6 +107,8 @@ TEST_F(RefactoringDatabaseInitializer, CreateInTheContructor) EXPECT_CALL(mockDatabase, execute(Eq("CREATE INDEX IF NOT EXISTS index_sources_sourceName ON sources(sourceName)"))); EXPECT_CALL(mockDatabase, execute(Eq("CREATE TABLE IF NOT EXISTS directories(directoryId INTEGER PRIMARY KEY, directoryPath TEXT)"))); EXPECT_CALL(mockDatabase, execute(Eq("CREATE INDEX IF NOT EXISTS index_directories_directoryPath ON directories(directoryPath)"))); + EXPECT_CALL(mockDatabase, execute(Eq("CREATE TABLE IF NOT EXISTS projectParts(projectPartId INTEGER PRIMARY KEY, projectPartName TEXT, compilerArguments TEXT)"))); + EXPECT_CALL(mockDatabase, execute(Eq("CREATE INDEX IF NOT EXISTS index_projectParts_projectPartName ON projectParts(projectPartName)"))); EXPECT_CALL(mockDatabase, execute(Eq("COMMIT"))); EXPECT_CALL(mockMutex, unlock()); diff --git a/tests/unit/unittest/storagesqlitestatementfactory-test.cpp b/tests/unit/unittest/storagesqlitestatementfactory-test.cpp index b8575c5fc2d..d118570ea97 100644 --- a/tests/unit/unittest/storagesqlitestatementfactory-test.cpp +++ b/tests/unit/unittest/storagesqlitestatementfactory-test.cpp @@ -62,7 +62,6 @@ TEST_F(StorageSqliteStatementFactory, AddNewSymbolsTable) factory.createNewSymbolsTable(); } - TEST_F(StorageSqliteStatementFactory, AddNewLocationsTable) { InSequence s;