diff --git a/src/libs/clangsupport/refactoringdatabaseinitializer.h b/src/libs/clangsupport/refactoringdatabaseinitializer.h index a59ac5358db..7fe1a6aefef 100644 --- a/src/libs/clangsupport/refactoringdatabaseinitializer.h +++ b/src/libs/clangsupport/refactoringdatabaseinitializer.h @@ -48,6 +48,7 @@ public: createProjectPartsTable(); createProjectPartsSourcesTable(); createUsedMacrosTable(); + createFileInformationsTable(); transaction.commit(); } @@ -146,6 +147,18 @@ public: table.initialize(database); } + void createFileInformationsTable() + { + Sqlite::Table table; + table.setUseIfNotExists(true); + table.setName("fileInformations"); + table.addColumn("sourceId", Sqlite::ColumnType::Integer, Sqlite::Contraint::PrimaryKey); + table.addColumn("size", Sqlite::ColumnType::Integer); + table.addColumn("lastModified", Sqlite::ColumnType::Integer); + + table.initialize(database); + } + public: DatabaseType &database; }; diff --git a/tests/unit/unittest/refactoringdatabaseinitializer-test.cpp b/tests/unit/unittest/refactoringdatabaseinitializer-test.cpp index 589fc96b1db..585521416f6 100644 --- a/tests/unit/unittest/refactoringdatabaseinitializer-test.cpp +++ b/tests/unit/unittest/refactoringdatabaseinitializer-test.cpp @@ -114,6 +114,15 @@ TEST_F(RefactoringDatabaseInitializer, AddUsedMacrosTable) initializer.createUsedMacrosTable(); } +TEST_F(RefactoringDatabaseInitializer, AddFileInformationsTable) +{ + InSequence s; + + EXPECT_CALL(mockDatabase, execute(Eq("CREATE TABLE IF NOT EXISTS fileInformations(sourceId INTEGER PRIMARY KEY, size INTEGER, lastModified INTEGER)"))); + + initializer.createFileInformationsTable(); +} + TEST_F(RefactoringDatabaseInitializer, CreateInTheContructor) { InSequence s; @@ -135,6 +144,7 @@ TEST_F(RefactoringDatabaseInitializer, CreateInTheContructor) 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)"))); + EXPECT_CALL(mockDatabase, execute(Eq("CREATE TABLE IF NOT EXISTS fileInformations(sourceId INTEGER PRIMARY KEY, size INTEGER, lastModified INTEGER)"))); EXPECT_CALL(mockDatabase, commit()); Initializer initializer{mockDatabase};