code: func (s *SchemaChecker) Check(txnTS uint64) error {
  	schemaOutOfDateRetryInterval := atomic.LoadInt64(&SchemaOutOfDateRetryInterval)
  	schemaOutOfDateRetryTimes := int(atomic.LoadInt32(&SchemaOutOfDateRetryTimes))
  	for i := 0; i < schemaOutOfDateRetryTimes; i++ {
  		result := s.SchemaValidator.Check(txnTS, s.schemaVer, s.relatedTableIDs)
  		switch result {
  		case ResultSucc:
  			return nil
  		case ResultFail:
  			metrics.SchemaLeaseErrorCounter.WithLabelValues("changed").Inc()
  			return ErrInfoSchemaChanged
  		case ResultUnknown:
  			metrics.SchemaLeaseErrorCounter.WithLabelValues("outdated").Inc()
  			time.Sleep(time.Duration(schemaOutOfDateRetryInterval))
  		}
  
  	}
  	return ErrInfoSchemaExpired
  }
docs: // Check checks the validity of the schema version.