| 30 | ) |
| 31 | |
| 32 | type MySqlConnector struct { |
| 33 | *metadataStore.PostgresMetadata |
| 34 | config *protos.MySqlConfig |
| 35 | ssh *utils.SSHTunnel |
| 36 | conn atomic.Pointer[client.Conn] // atomic used for internal concurrency, connector interface is not threadsafe |
| 37 | contexts atomic.Pointer[chan context.Context] |
| 38 | logger log.Logger |
| 39 | rdsAuth *utils.RDSAuth |
| 40 | serverVersion string |
| 41 | collationCharset atomic.Pointer[map[uint64]string] |
| 42 | warnedCharsets sync.Map |
| 43 | binlogHeartbeatPeriod time.Duration |
| 44 | totalBytesRead atomic.Int64 |
| 45 | deltaBytesRead atomic.Int64 |
| 46 | } |
| 47 | |
| 48 | func NewMySqlConnector(ctx context.Context, config *protos.MySqlConfig) (*MySqlConnector, error) { |
| 49 | pgMetadata, err := metadataStore.NewPostgresMetadata(ctx) |
nothing calls this directly
no outgoing calls
no test coverage detected