@@ -119,9 +119,9 @@ func SetupCluster(cfg Config) (_ ClusterInfo, err error) {
119119 vtParams := clusterInstance .GetVTParams (ksNames [0 ])
120120
121121 var mysqlParams * mysql.ConnParams
122- var closers [] func ()
122+ var closer func ()
123123 if cfg .Compare {
124- mysqlParams , closers , err = setupExternalMySQL (keyspaces , clusterInstance )
124+ mysqlParams , closer , err = setupExternalMySQL (keyspaces , clusterInstance )
125125 if err != nil {
126126 return ClusterInfo {}, err
127127 }
@@ -135,7 +135,7 @@ func SetupCluster(cfg Config) (_ ClusterInfo, err error) {
135135 vschema : vschema ,
136136 closer : func () {
137137 clusterInstance .Teardown ()
138- for _ , closer := range closers {
138+ if closer != nil {
139139 closer ()
140140 }
141141 },
@@ -165,8 +165,7 @@ func startKeyspace(cfg Config, vschema *vindexes.VSchema, keyspace *cluster.Keys
165165 return nil
166166}
167167
168- // TODO: having a single connection is not correct if we are dealing with multiple mysql databases.
169- func setupExternalMySQL (keyspaces []* cluster.Keyspace , clusterInstance * cluster.LocalProcessCluster ) (_ * mysql.ConnParams , closers []func (), err error ) {
168+ func setupExternalMySQL (keyspaces []* cluster.Keyspace , clusterInstance * cluster.LocalProcessCluster ) (_ * mysql.ConnParams , closer func (), err error ) {
170169 // Create the mysqld server we will use to compare the results.
171170 // We go through all the keyspaces we found in the vschema, and
172171 // simply create the mysqld process during the first iteration with
@@ -185,9 +184,9 @@ func setupExternalMySQL(keyspaces []*cluster.Keyspace, clusterInstance *cluster.
185184 if err != nil {
186185 return nil , nil , err
187186 }
187+ continue
188188 }
189189
190- var closer func ()
191190 mysqlParamsValue , closer , err = utils .NewMySQL (clusterInstance , keyspace .Name , "" )
192191 if err != nil {
193192 return nil , nil , err
@@ -196,9 +195,8 @@ func setupExternalMySQL(keyspaces []*cluster.Keyspace, clusterInstance *cluster.
196195 if err != nil {
197196 return nil , nil , err
198197 }
199- closers = append (closers , closer )
200198 }
201- return & mysqlParamsValue , closers , nil
199+ return & mysqlParamsValue , closer , nil
202200}
203201
204202func generateShardRanges (numberOfShards int ) []string {
0 commit comments