Fixed some warnings and typos (#99)

* Draft of support for the unique constraint

* Update table.md

Removed the note beside the unique keyword description

* Fixed typo

* Fixed typo

* Removed a warning on initialization order

* Small refactoring of TableSet::at() and TableSet::operator[]

* Fixed a couple of warnings
This commit is contained in:
Jack Lilhammers 2020-07-14 15:32:52 +02:00 committed by GitHub
parent 42c4016273
commit ee7151ea2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 26 additions and 27 deletions

View File

@ -136,7 +136,7 @@ bool DatabasePrivate::updateDatabase()
DatabaseModel current = currentModel; DatabaseModel current = currentModel;
if (last == current) { if (last == current) {
qDebug("Databse is up-to-date"); qDebug("Database is up-to-date");
//TODO: crash without this and I don't know why! //TODO: crash without this and I don't know why!
changeLogs->clearChilds(); changeLogs->clearChilds();
return true; return true;
@ -154,9 +154,9 @@ bool DatabasePrivate::updateDatabase()
} }
} }
if (!last.count()) if (!last.count())
qDebug("Databse is new"); qDebug("Database is new");
else else
qDebug("Databse is changed"); qDebug("Database is changed");
QStringList sql = sqlGenerator->diff(last, current); QStringList sql = sqlGenerator->diff(last, current);
@ -607,6 +607,7 @@ int Database::saveChanges(bool cleanUp)
int rowsAffected = 0; int rowsAffected = 0;
foreach (TableSetBase *ts, d->tableSets) foreach (TableSetBase *ts, d->tableSets)
rowsAffected += ts->save(this, cleanUp); rowsAffected += ts->save(this, cleanUp);
return rowsAffected; return rowsAffected;
} }

View File

@ -102,7 +102,7 @@ QString SqlGeneratorBase::saveRecord(Table *t, QString tableName)
return updateRecord(t, tableName); return updateRecord(t, tableName);
case Table::NewCreated: case Table::NewCreated:
case Table::FeatchedFromDB: case Table::FetchedFromDB:
Q_UNREACHABLE(); Q_UNREACHABLE();
} }

View File

@ -324,7 +324,7 @@ Q_OUTOFLINE_TEMPLATE RowList<T> Query<T>::toList(int count)
tableset->add(row); tableset->add(row);
} }
row->setStatus(Table::FeatchedFromDB); row->setStatus(Table::FetchedFromDB);
row->setParent(this); row->setParent(this);
row->clear(); row->clear();

View File

@ -39,8 +39,10 @@ void SqlModel::setRenderer(const std::function<QVariant (int, QVariant)> &render
_renderer = renderer; _renderer = renderer;
} }
SqlModel::SqlModel(Database *database, TableSetBase *tableSet, QObject *parent) : SqlModel::SqlModel(Database *database, TableSetBase *tableSet, QObject *parent)
QAbstractTableModel(parent), d(new SqlModelPrivate(this)), _renderer(nullptr) : QAbstractTableModel(parent)
, _renderer(nullptr)
, d(new SqlModelPrivate(this))
{ {
d->model = database->model() d->model = database->model()
.tableByClassName(tableSet->childClassName()); .tableByClassName(tableSet->childClassName());
@ -122,7 +124,7 @@ Row<Table> SqlModel::at(const int &i) const
SqlModelPrivate::SqlModelPrivate(SqlModel *parent) SqlModelPrivate::SqlModelPrivate(SqlModel *parent)
{ {
Q_UNUSED(parent)
} }

View File

@ -97,7 +97,7 @@ void Table::propertyChanged(const QString &propName)
d.detach(); d.detach();
d->changedProperties.insert(propName); d->changedProperties.insert(propName);
if (d->status == FeatchedFromDB) if (d->status == FetchedFromDB)
d->status = Modified; d->status = Modified;
if (d->status == NewCreated) if (d->status == NewCreated)
@ -181,7 +181,7 @@ int Table::save(Database *db)
foreach(TableSetBase *ts, d->childTableSets) foreach(TableSetBase *ts, d->childTableSets)
ts->save(db); ts->save(db);
setStatus(FeatchedFromDB); setStatus(FetchedFromDB);
return q.numRowsAffected(); return q.numRowsAffected();
} }

View File

@ -46,7 +46,7 @@ public:
enum Status{ enum Status{
NewCreated, NewCreated,
FeatchedFromDB, FetchedFromDB,
Added, Added,
Modified, Modified,
Deleted Deleted

View File

@ -60,7 +60,7 @@ public:
int length() const; int length() const;
Row<T> at(int i) const; Row<T> at(int i) const;
const Row<T> operator[](int i) const; Row<T> operator[](int i) const;
Query<T> *query(bool autoDelete = true); Query<T> *query(bool autoDelete = true);
BulkInserter *bulkInserter(); BulkInserter *bulkInserter();
@ -100,7 +100,7 @@ Q_OUTOFLINE_TEMPLATE int TableSet<T>::length() const
} }
template<class T> template<class T>
Q_OUTOFLINE_TEMPLATE Row<T> TableSet<T >::at(int i) const Q_OUTOFLINE_TEMPLATE Row<T> TableSet<T>::at(int i) const
{ {
#ifdef NUT_SHARED_POINTER #ifdef NUT_SHARED_POINTER
return data->childs.at(i).template objectCast<T>(); return data->childs.at(i).template objectCast<T>();
@ -110,13 +110,9 @@ Q_OUTOFLINE_TEMPLATE Row<T> TableSet<T >::at(int i) const
} }
template<class T> template<class T>
Q_OUTOFLINE_TEMPLATE const Row<T> TableSet<T>::operator[](int i) const Q_OUTOFLINE_TEMPLATE Row<T> TableSet<T>::operator[](int i) const
{ {
#ifdef NUT_SHARED_POINTER return at(i);
return data->childs.at(i).template objectCast<T>();
#else
return reinterpret_cast<T*>(data->childs.at(i));
#endif
} }
template<class T> template<class T>
@ -131,7 +127,7 @@ Q_OUTOFLINE_TEMPLATE void TableSet<T>::append(Row<T> t)
// t->setModel(_database->model().tableByClassName(t->metaObject()->className())); // t->setModel(_database->model().tableByClassName(t->metaObject()->className()));
t->setParentTableSet(this); t->setParentTableSet(this);
if(t->status() != Table::FeatchedFromDB) if(t->status() != Table::FetchedFromDB)
t->setStatus(Table::Added); t->setStatus(Table::Added);
} }

View File

@ -53,16 +53,16 @@ int TableSetBase::save(Database *db, bool cleanUp)
masterModel = db->model().tableByClassName(data->table->metaObject()->className()); masterModel = db->model().tableByClassName(data->table->metaObject()->className());
foreach (Row<Table> t, data->childs) { foreach (Row<Table> t, data->childs) {
if(data->table) if (data->table)
t->setParentTable(data->table, t->setParentTable(data->table,
masterModel, masterModel,
db->model().tableByClassName(t->metaObject()->className())); db->model().tableByClassName(t->metaObject()->className()));
if(t->status() == Table::Added if (t->status() == Table::Added
|| t->status() == Table::Modified || t->status() == Table::Modified
|| t->status() == Table::Deleted){ || t->status() == Table::Deleted) {
rowsAffected += t->save(db); rowsAffected += t->save(db);
if(cleanUp) if (cleanUp)
#ifdef NUT_SHARED_POINTER #ifdef NUT_SHARED_POINTER
remove(t); remove(t);
#else #else

View File

@ -41,7 +41,7 @@ void BenchmarkTest::initTestCase()
void BenchmarkTest::insert1kPost() void BenchmarkTest::insert1kPost()
{ {
QTime t; QElapsedTimer t;
t.start(); t.start();
for (int i = 0; i < 100; ++i) { for (int i = 0; i < 100; ++i) {
@ -52,7 +52,7 @@ void BenchmarkTest::insert1kPost()
db.posts()->append(newPost); db.posts()->append(newPost);
} }
db.saveChanges(); db.saveChanges();
qDebug("1k post inserted in %d ms", t.elapsed()); qDebug("1k post inserted in %lld ms", t.elapsed());
} }