Skip to content
Snippets Groups Projects
Unverified Commit acb86fa8 authored by XuPeng-SH's avatar XuPeng-SH Committed by GitHub
Browse files

(tae): fix checkpoint bug (#2809)

parent 25874ffa
No related branches found
No related tags found
No related merge requests found
......@@ -697,13 +697,17 @@ func (catalog *Catalog) PrepareCheckpoint(startTs, endTs uint64) *CheckpointEntr
return
}
processor.TableFn = func(table *TableEntry) (err error) {
if table.IsVirtual() {
err = ErrStopCurrRecur
return
}
entry := table.BaseEntry
CheckpointOp(ckpEntry, entry, table, startTs, endTs)
return
}
processor.DatabaseFn = func(database *DBEntry) (err error) {
if database.IsSystemDB() {
err = ErrStopCurrRecur
// No need to checkpoint system db entry
return
}
entry := database.BaseEntry
......
......@@ -110,6 +110,15 @@ func MockStaloneTableEntry(id uint64, schema *Schema) *TableEntry {
}
}
func (entry *TableEntry) IsVirtual() bool {
if !entry.db.IsSystemDB() {
return false
}
return entry.schema.Name == SystemTable_DB_Name ||
entry.schema.Name == SystemTable_Table_Name ||
entry.schema.Name == SystemTable_Columns_Name
}
func (entry *TableEntry) GetRows() uint64 {
return atomic.LoadUint64(&entry.rows)
}
......
......@@ -143,6 +143,10 @@ func (scanner *dbScanner) onSegment(entry *catalog.SegmentEntry) (err error) {
}
func (scanner *dbScanner) onTable(entry *catalog.TableEntry) (err error) {
if entry.IsVirtual() {
err = catalog.ErrStopCurrRecur
return
}
scanner.tablemask.Clear()
for i, op := range scanner.ops {
// If the specified op was masked OnDatabase. skip it
......@@ -166,10 +170,10 @@ func (scanner *dbScanner) onTable(entry *catalog.TableEntry) (err error) {
}
func (scanner *dbScanner) onDatabase(entry *catalog.DBEntry) (err error) {
if entry.IsSystemDB() {
err = catalog.ErrStopCurrRecur
return
}
// if entry.IsSystemDB() {
// err = catalog.ErrStopCurrRecur
// return
// }
scanner.dbmask.Clear()
for i, op := range scanner.ops {
err = op.OnDatabase(entry)
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment