in service/keyspaces/api.go [4947:5006]
func (s *SchemaDefinition) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "SchemaDefinition"}
if s.AllColumns == nil {
invalidParams.Add(request.NewErrParamRequired("AllColumns"))
}
if s.AllColumns != nil && len(s.AllColumns) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AllColumns", 1))
}
if s.PartitionKeys == nil {
invalidParams.Add(request.NewErrParamRequired("PartitionKeys"))
}
if s.PartitionKeys != nil && len(s.PartitionKeys) < 1 {
invalidParams.Add(request.NewErrParamMinLen("PartitionKeys", 1))
}
if s.AllColumns != nil {
for i, v := range s.AllColumns {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AllColumns", i), err.(request.ErrInvalidParams))
}
}
}
if s.ClusteringKeys != nil {
for i, v := range s.ClusteringKeys {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ClusteringKeys", i), err.(request.ErrInvalidParams))
}
}
}
if s.PartitionKeys != nil {
for i, v := range s.PartitionKeys {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionKeys", i), err.(request.ErrInvalidParams))
}
}
}
if s.StaticColumns != nil {
for i, v := range s.StaticColumns {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StaticColumns", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}