package group

import "github.com/pingcap-inc/clinic/pkg/ngm/statements/load"

func BySchemaAndDigest() Group[SchemaAndDigest] {
	return &GroupBySchemaAndDigest{}
}

type SchemaAndDigest struct {
	schema string
	digest string
}

type GroupBySchemaAndDigest struct{}

var _ Group[SchemaAndDigest] = (*GroupBySchemaAndDigest)(nil)

func (*GroupBySchemaAndDigest) Key(record *load.StmtRecord) SchemaAndDigest {
	return SchemaAndDigest{
		schema: record.SchemaName,
		digest: record.Digest,
	}
}
