mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-02-28 05:32:52 +00:00
🎨 数据历史文档和资源文件支持分页和搜索 https://github.com/siyuan-note/siyuan/issues/4901
This commit is contained in:
@@ -173,10 +173,10 @@ func InitHistoryDatabase(forceRebuild bool) {
|
||||
historyDB.SetMaxOpenConns(1)
|
||||
historyDB.SetConnMaxLifetime(365 * 24 * time.Hour)
|
||||
|
||||
historyDB.Exec("DROP TABLE history_fts_case_insensitive")
|
||||
_, err = db.Exec("CREATE VIRTUAL TABLE history_fts_case_insensitive USING fts5(type UNINDEXED, op UNINDEXED, title, content, created UNINDEXED, path UNINDEXED, tokenize=\"siyuan case_insensitive\")")
|
||||
historyDB.Exec("DROP TABLE histories_fts_case_insensitive")
|
||||
_, err = historyDB.Exec("CREATE VIRTUAL TABLE histories_fts_case_insensitive USING fts5(type UNINDEXED, op UNINDEXED, title, content, path UNINDEXED, created UNINDEXED, tokenize=\"siyuan case_insensitive\")")
|
||||
if nil != err {
|
||||
logging.LogFatalf("create table [history_fts_case_insensitive] failed: %s", err)
|
||||
logging.LogFatalf("create table [histories_fts_case_insensitive] failed: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1066,6 +1066,9 @@ func CloseDatabase() {
|
||||
if err := db.Close(); nil != err {
|
||||
logging.LogErrorf("close database failed: %s", err)
|
||||
}
|
||||
if err := historyDB.Close(); nil != err {
|
||||
logging.LogErrorf("close history database failed: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
func queryRow(query string, args ...interface{}) *sql.Row {
|
||||
@@ -1095,6 +1098,16 @@ func BeginTx() (tx *sql.Tx, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func BeginHistoryTx() (tx *sql.Tx, err error) {
|
||||
if tx, err = historyDB.Begin(); nil != err {
|
||||
logging.LogErrorf("begin history tx failed: %s\n %s", err, logging.ShortStack())
|
||||
if strings.Contains(err.Error(), "database is locked") {
|
||||
os.Exit(util.ExitCodeReadOnlyDatabase)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func CommitTx(tx *sql.Tx) (err error) {
|
||||
if nil == tx {
|
||||
logging.LogErrorf("tx is nil")
|
||||
|
||||
Reference in New Issue
Block a user