40 namespace sph = oral::sph;
42 void OralTest_SimpleRecord_Bench::benchSimpleRecordAdapt ()
45 Util::oral::Adapt<SimpleRecord, OralFactory> (db);
47 QBENCHMARK { Util::oral::Adapt<SimpleRecord> (db); }
50 void OralTest_SimpleRecord_Bench::benchBaselineInsert ()
53 Util::oral::Adapt<SimpleRecord, OralFactory> (db);
55 QSqlQuery query { db };
56 query.prepare (
"INSERT OR IGNORE INTO SimpleRecord (ID, Value) VALUES (:id, :val);");
60 query.bindValue (
":id", 0);
61 query.bindValue (
":val",
"0");
66 void OralTest_SimpleRecord_Bench::benchSimpleRecordInsert ()
69 const auto& adapted = Util::oral::Adapt<SimpleRecord, OralFactory> (db);
74 void OralTest_SimpleRecord_Bench::benchBaselineUpdate ()
77 const auto& adapted = Util::oral::Adapt<SimpleRecord, OralFactory> (db);
78 adapted.Insert ({ 0,
"0" });
80 QSqlQuery query { db };
81 query.prepare (
"UPDATE SimpleRecord SET Value = :val WHERE Id = :id;");
85 query.bindValue (
":id", 0);
86 query.bindValue (
":val",
"1");
91 void OralTest_SimpleRecord_Bench::benchSimpleRecordUpdate ()
94 auto adapted = Util::oral::Adapt<SimpleRecord, OralFactory> (db);
95 adapted.Insert ({ 0,
"0" });
97 QBENCHMARK { adapted.Update ({ 0,
"1" }); }
static struct LC::Util::oral::InsertAction::IgnoreTag Ignore
QSqlDatabase MakeDatabase(const QString &name=":memory:")