code: func (s Schema) Clone() Schema {
  	result := NewSchema(make([]*Column, 0, s.Len()))
  	keys := make([]KeyInfo, 0, len(s.Keys))
  	for _, col := range s.Columns {
  		newCol := *col
  		result.Append(&newCol)
  	}
  	for _, key := range s.Keys {
  		keys = append(keys, key.Clone())
  	}
  	result.SetUniqueKeys(keys)
  	return result
  }
docs: // Clone copies the total schema.