-int __open_write_db(uid_t uid, const char* path,
- sqlite3** db) {
- int ret;
-
- ret = sqlite3_open_v2(path, db, SQLITE_OPEN_READWRITE, NULL);
- if (ret != SQLITE_OK) {
- sqlite3_close_v2(*db);
- return ret;
- }
-
- ret = sqlite3_busy_handler(*db, __writedb_busy_handler,
- reinterpret_cast<void*>(const_cast<char*>(path)));
- if (ret != SQLITE_OK) {
- LOG(ERROR) << "failed to register busy handler:" << sqlite3_errmsg(*db);
- sqlite3_close_v2(*db);
- return ret;
- }
-
- ret = sqlite3_exec(*db, "PRAGMA foreign_keys=ON", NULL, NULL, NULL);
- if (ret != SQLITE_OK) {
- LOG(ERROR) << "failed to enable foreign key support:"
- << sqlite3_errmsg(*db);
- sqlite3_close_v2(*db);
- return ret;
- }
+tizen_base::Database OpenWriteDb(uid_t uid, const std::string& path) {
+ tizen_base::Database db(path.c_str(), SQLITE_OPEN_READWRITE,
+ WriteDbBusyHandler);
+ db.OneStepExec({ "PRAGMA foreign_keys=ON" });