level_handler.go
func (s *levelHandler) tryAddLevel0Table(t *table.Table) bool {
	y.AssertTrue(s.level == 0)
	// Need lock as we may be deleting the first table during a level 0 compaction.
	s.Lock()
	defer s.Unlock()
	if len(s.tables) >= s.db.opt.NumLevelZeroTablesStall {
		return false
	}

	s.tables = append(s.tables, t)
	t.IncrRef()
	s.totalSize += t.Size()

	return true
}
func (s *levelHandler) tryAddLevel0Table(t *table.Table) bool {
	y.AssertTrue(s.level == 0)
	// Need lock as we may be deleting the first table during a level 0 compaction.
	s.Lock()
	defer s.Unlock()
	if len(s.tables) >= s.db.opt.NumLevelZeroTablesStall {
		return false
	}

	s.tables = append(s.tables, t)
	t.IncrRef()
	s.totalSize += t.Size()

	return true
}
func ( s * levelHandler ) tryAddLevel0Table ( t * table . Table ) bool { y . AssertTrue ( s . level == 0 ) // Need lock as we may be deleting the first table during a level 0 compaction. s . Lock ( ) defer s . Unlock ( ) if len ( s . tables ) >= s . db . opt . NumLevelZeroTablesStall { return false } s . tables = append ( s . tables , t ) t . IncrRef ( ) s . totalSize += t . Size ( ) return true }
// tryAddLevel0Table returns true if ok and no stalling.
tryAddLevel0Table returns true if ok and no stalling .