Change journal mode to wal
authorHwankyu Jhun <h.jhun@samsung.com>
Fri, 3 Feb 2023 00:00:33 +0000 (00:00 +0000)
committerHwankyu Jhun <h.jhun@samsung.com>
Fri, 3 Feb 2023 01:31:40 +0000 (01:31 +0000)
To reduce calling fsync(), this patch changes the journal mode to
WAL.

Change-Id: I842f01b05070915a63a4ad7fa33e702c7794c1e1
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/lib/app_com/app_com_dao_implementation.cc

index 90868b7ce0a06354416a95fe40e0e1579efae3a1..182573b92494ccbcb6b4172449026c7da04e7cec 100644 (file)
@@ -58,6 +58,9 @@ constexpr const char QUERY_INSERT_OR_REPLACE[] =
 constexpr const char QUERY_DELETE[] =
   "DELETE FROM amd_app_com WHERE endpoint=?";
 
+constexpr const char QUERY_PRAGMA_JOURNAL_MODE_WAL[] =
+  "PRAGMA journal_mode = 'wal'";
+
 std::vector<std::string> ToStringArray(
     const std::unique_ptr<AppComEndpoint>& endpoint,
     const std::shared_ptr<AppComClient>& client) {
@@ -97,6 +100,13 @@ AppComDaoImpl::AppComDaoImpl() {
       }, this, true);
   if (ret != 0)
     _E("amd_database_execute() is failed. error(%d)", ret);
+
+  ret = amd_database_execute(QUERY_PRAGMA_JOURNAL_MODE_WAL, nullptr, 0,
+      [](amd_database_cursor_h cursor, void* user_data) {
+        return amd_database_cursor_execute(cursor);
+      }, this, true);
+  if (ret != 0)
+    _E("amd_database_execute() is failed. error(%d)", ret);
 }
 
 std::unordered_map<std::string, std::unique_ptr<AppComEndpoint>>