@@ -44,7 +44,6 @@ func mc2mc(envs []string) error {
4444 client .SetupODPSClient (cfg .GenOdps ()),
4545 client .SetupDefaultProject (cfg .ExecutionProject ),
4646 client .SetUpLogViewRetentionInDays (cfg .LogViewRetentionInDays ),
47- client .SetupAdditionalHints (cfg .AdditionalHints ),
4847 client .SetupDryRun (cfg .DryRun ),
4948 )
5049 if err != nil {
@@ -162,23 +161,24 @@ func mc2mc(envs []string) error {
162161
163162 // only support concurrent execution for REPLACE method
164163 if cfg .LoadMethod == "REPLACE" {
165- return executeConcurrently (ctx , c , cfg .Concurrency , queriesToExecute )
164+ return executeConcurrently (ctx , c , cfg .Concurrency , queriesToExecute , cfg . AdditionalHints )
166165 }
167166 // otherwise execute sequentially
168- return execute (ctx , c , queriesToExecute )
167+ return execute (ctx , c , queriesToExecute , cfg . AdditionalHints )
169168}
170169
171- func executeConcurrently (ctx context.Context , c * client.Client , concurrency int , queriesToExecute []string ) error {
170+ func executeConcurrently (ctx context.Context , c * client.Client , concurrency int , queriesToExecute []string , additionalHints map [ string ] string ) error {
172171 // execute query concurrently
173172 sem := make (chan uint8 , concurrency )
174173 wg := sync.WaitGroup {}
175174 wg .Add (len (queriesToExecute ))
176175 errChan := make (chan error , len (queriesToExecute ))
177176
178- for _ , queryToExecute := range queriesToExecute {
177+ for i , queryToExecute := range queriesToExecute {
179178 sem <- 0
179+ executeFn := c .ExecuteFn (i + 1 )
180180 go func (queryToExecute string , errChan chan error ) {
181- err := c . Execute (ctx , queryToExecute )
181+ err := executeFn (ctx , queryToExecute , additionalHints )
182182 if err != nil {
183183 errChan <- errors .WithStack (err )
184184 }
@@ -200,9 +200,10 @@ func executeConcurrently(ctx context.Context, c *client.Client, concurrency int,
200200 return errs
201201}
202202
203- func execute (ctx context.Context , c * client.Client , queriesToExecute []string ) error {
204- for _ , queryToExecute := range queriesToExecute {
205- err := c .Execute (ctx , queryToExecute )
203+ func execute (ctx context.Context , c * client.Client , queriesToExecute []string , additionalHints map [string ]string ) error {
204+ for i , queryToExecute := range queriesToExecute {
205+ executeFn := c .ExecuteFn (i + 1 )
206+ err := executeFn (ctx , queryToExecute , additionalHints )
206207 if err != nil {
207208 return errors .WithStack (err )
208209 }
0 commit comments