func (factory *DecryptorFactory) New(clientID []byte) (base.Decryptor, error) {
	pgDecryptor, err := factory.pgDecryptorFactory.New(clientID)
	if err != nil {
		return nil, err
	}
	decryptor := NewMySQLDecryptor(clientID, pgDecryptor.(*postgresql.PgDecryptor), factory.settings.Keystore())
	decryptor.SetPoisonCallbackStorage(factory.settings.PoisonCallbacks())
	decryptor.SetWithZone(factory.settings.WithZone())
	decryptor.SetWholeMatch(factory.settings.WholeMatch())
	decryptor.TurnOnPoisonRecordCheck(factory.settings.CheckPoisonRecord())
	decryptor.SetDataProcessor(base.DecryptProcessor{})
	return decryptor, nil
}
New return new Decryptor
package mysql
import (
	"github.com/cossacklabs/acra/decryptor/base"
	"github.com/cossacklabs/acra/decryptor/postgresql"
)
type DecryptorFactory struct {
	settings           *base.DecryptorSetting
	pgDecryptorFactory *postgresql.DecryptorFactory
}
func NewMysqlDecryptorFactory(setting *base.DecryptorSetting) *DecryptorFactory {
	pgFactory := postgresql.NewDecryptorFactory(setting)
	return &DecryptorFactory{settings: setting, pgDecryptorFactory: pgFactory}
}