1 Star 0 Fork 0

廖永煌/lyh

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
br_090_3.diff 4.64 KB
一键复制 编辑 原始数据 按行查看 历史
廖永煌 提交于 2025-03-13 15:41 +08:00 . 1
diff --git a/frameworks/libs/distributeddb/storage/src/sqlite/sqlite_utils.cpp b/frameworks/libs/distributeddb/storage/src/sqlite/sqlite_utils.cpp
index f07a061ee..d4dd7b38d 100644
--- a/frameworks/libs/distributeddb/storage/src/sqlite/sqlite_utils.cpp
+++ b/frameworks/libs/distributeddb/storage/src/sqlite/sqlite_utils.cpp
@@ -119,6 +119,7 @@ void SQLiteUtils::SqliteLogCallback(void *data, int err, const char *msg)
{
bool verboseLog = (data != nullptr);
auto errType = static_cast<unsigned int>(err);
+ bool isWarningDump = errType == (SQLITE_WARNING | (2 << 8));
std::string logMsg = msg == nullptr ? "NULL" : msg;
errType &= 0xFF;
if (IsNeedSkipLog(errType, logMsg.c_str())) {
@@ -129,7 +130,8 @@ void SQLiteUtils::SqliteLogCallback(void *data, int err, const char *msg)
if (verboseLog) {
LOGD("[SQLite] Error[%d] sys[%d] %s ", err, errno, sqlite3_errstr(err));
}
- } else if (errType == SQLITE_WARNING || errType == SQLITE_IOERR || errType == SQLITE_CANTOPEN) {
+ } else if ((errType == SQLITE_WARNING && !isWarningDump) ||
+ errType == SQLITE_IOERR || errType == SQLITE_CANTOPEN) {
LOGI("[SQLite] Error[%d], sys[%d], %s, msg: %s ", err, errno,
sqlite3_errstr(err), SQLiteUtils::Anonymous(logMsg).c_str());
} else {
@@ -179,9 +181,6 @@ END:
(void)sqlite3_close_v2(dbTemp);
dbTemp = nullptr;
}
- struct stat curStat;
- stat(fileUrl.c_str(), &curStat);
- LOGI("[SQLite] open database result: %d, inode: %llu", errCode, curStat.st_ino);
return errCode;
}
diff --git a/frameworks/libs/distributeddb/storage/src/storage_engine.cpp b/frameworks/libs/distributeddb/storage/src/storage_engine.cpp
index 7536ee532..d53a20abe 100644
--- a/frameworks/libs/distributeddb/storage/src/storage_engine.cpp
+++ b/frameworks/libs/distributeddb/storage/src/storage_engine.cpp
@@ -16,6 +16,7 @@
#include "storage_engine.h"
#include <algorithm>
+#include <sys/stat.h>
#include "db_common.h"
#include "db_errno.h"
@@ -95,6 +96,7 @@ int StorageEngine::InitReadWriteExecutors()
}
AddStorageExecutor(handle, false);
}
+ PrintDbFileMsg();
return E_OK;
}
@@ -449,6 +451,7 @@ void StorageEngine::CloseExecutor()
ClearHandleList(readIdleList_);
ClearHandleList(externalReadIdleList_);
}
+ PrintDbFileMsg();
}
StorageExecutor *StorageEngine::FetchStorageExecutor(bool isWrite, std::list<StorageExecutor *> &idleList,
@@ -526,4 +529,33 @@ void StorageEngine::SetSchemaChangedCallback(const std::function<int(void)> &cal
std::unique_lock<std::shared_mutex> lock(schemaChangedMutex_);
schemaChangedFunc_ = callback;
}
+
+void StorageEngine::PrintDbFileMsg()
+{
+ OpenDbProperties option = GetOption();
+ std::string dbFilePath = option.uri;
+ if (dbFilePath.empty()) {
+ return;
+ }
+ struct stat dbFileStat;
+ memset_s(&dbFileStat, sizeof(struct stat), 0, sizeof(struct stat));
+ stat(dbFilePath.c_str(), &dbFileStat);
+ std::string dbWalFilePath = dbFilePath + "-wal";
+ struct stat dbWalFileStat;
+ memset_s(&dbWalFileStat, sizeof(struct stat), 0, sizeof(struct stat));
+ stat(dbWalFilePath.c_str(), &dbWalFileStat);
+ std::string dbShmFilePath = dbFilePath + "-shm";
+ struct stat dbShmFileStat;
+ memset_s(&dbShmFileStat, sizeof(struct stat), 0, sizeof(struct stat));
+ stat(dbShmFilePath.c_str(), &dbShmFileStat);
+ std::string dbDwrFilePath = dbFilePath + "-dwr";
+ struct stat dbDwrFileStat;
+ memset_s(&dbDwrFileStat, sizeof(struct stat), 0, sizeof(struct stat));
+ stat(dbDwrFilePath.c_str(), &dbDwrFileStat);
+ LOGI("db file: [size: %lld, mtime: %lld, inode: %llu], db-wal file: [size: %lld, mtime: %lld, inode: %llu], "
+ "db-shm file: [size: %lld, mtime: %lld, inode: %llu], db-dwr file: [size: %lld, mtime: %lld, inode: %llu]",
+ dbFileStat.st_size, dbFileStat.st_mtim.tv_sec, dbFileStat.st_ino, dbWalFileStat.st_size,
+ dbWalFileStat.st_mtim.tv_sec, dbWalFileStat.st_ino, dbShmFileStat.st_size, dbShmFileStat.st_mtim.tv_sec,
+ dbShmFileStat.st_ino, dbDwrFileStat.st_size, dbDwrFileStat.st_mtim.tv_sec, dbDwrFileStat.st_ino);
+}
}
diff --git a/frameworks/libs/distributeddb/storage/src/storage_engine.h b/frameworks/libs/distributeddb/storage/src/storage_engine.h
index 980855813..1768401a7 100644
--- a/frameworks/libs/distributeddb/storage/src/storage_engine.h
+++ b/frameworks/libs/distributeddb/storage/src/storage_engine.h
@@ -140,6 +140,8 @@ private:
virtual void ClearCorruptedFlag();
+ void PrintDbFileMsg();
+
static const int MAX_WAIT_TIME;
static const int MAX_WRITE_SIZE;
static const int MAX_READ_SIZE;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/liao-yonghuang/lyh.git
git@gitee.com:liao-yonghuang/lyh.git
liao-yonghuang
lyh
lyh
master

搜索帮助