code: func (s *SQLStore) newSQLMsgStore(channel string, channelID int64, limits *MsgStoreLimits) *SQLMsgStore {
  	msgStore := &SQLMsgStore{
  		sqlStore:  s,
  		channelID: channelID,
  	}
  	msgStore.init(channel, s.log, limits)
  	if !s.opts.NoCaching {
  		msgStore.writeCache = &sqlMsgsCache{msgs: make(map[uint64]*sqlCachedMsg)}
  	}
  	return msgStore
  }
docs: // creates an instance of a SQLMsgStore