Sqlite: Cleanup table and column handling

Using values instead of pointers makes the handling much easier. We can
remove ColumnDefinition too, and use SqliteColumn instead.

Change-Id: I224db9cc569c4dfb6e2746179b02096904bfbccb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Marco Bubke
2017-08-01 14:02:57 +02:00
parent a41183f6c7
commit 52a911b972
16 changed files with 183 additions and 354 deletions

View File

@@ -35,11 +35,6 @@ SqliteDatabase::SqliteDatabase()
{
}
SqliteDatabase::~SqliteDatabase()
{
qDeleteAll(m_sqliteTables);
}
void SqliteDatabase::open()
{
m_databaseBackend.open(m_databaseFilePath);
@@ -65,13 +60,14 @@ bool SqliteDatabase::isOpen() const
return m_isOpen;
}
void SqliteDatabase::addTable(SqliteTable *newSqliteTable)
SqliteTable &SqliteDatabase::addTable()
{
newSqliteTable->setSqliteDatabase(this);
m_sqliteTables.push_back(newSqliteTable);
m_sqliteTables.emplace_back(*this);
return m_sqliteTables.back();
}
const std::vector<SqliteTable *> &SqliteDatabase::tables() const
const std::vector<SqliteTable> &SqliteDatabase::tables() const
{
return m_sqliteTables;
}
@@ -113,8 +109,8 @@ void SqliteDatabase::execute(Utils::SmallStringView sqlStatement)
void SqliteDatabase::initializeTables()
{
for (SqliteTable *table: tables())
table->initialize();
for (SqliteTable &table : m_sqliteTables)
table.initialize();
}
SqliteDatabaseBackend &SqliteDatabase::backend()