Vanillaxi opened a new pull request, #1140:
URL: https://github.com/apache/incubator-seata-go/pull/1140

   <!--  Thanks for sending a pull request!
   -->
   <!-- Please make sure you have read and understood the contributing 
guidelines -->
   
   **What this PR does**:
   Support semicolon-separated MySQL DML statements in AT mode through a 
validated execution plan.
   
   The plan provides two execution paths:
   - **Aggregate execution**: executes eligible same-table, non-parameterized 
`UPDATE` or `DELETE` statements together and builds aggregated before/after 
images.
   - **Sequential execution**: executes multiple `INSERT` statements, mixed 
DML, parameterized statements, and statements targeting different tables in 
order, while reusing the existing single-statement executors.
   
   This PR also:
   - validates all child statements and arguments before executing business SQL.
   - rejects unsupported `UPDATE JOIN`, MySQL multi-table `DELETE`, and 
prepared multi-SQL.
   - falls back to prepared execution when the driver returns `driver.ErrSkip`.
   
   
   **Which issue(s) this PR fixes**:
   
   <!--
   *Automatically closes linked issue when PR is merged.
   Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
   _If PR is about `failing-tests or flakes`, please post the related 
issues/tests in a comment and do not use `Fixes`_*
   -->
   
   Fixes #1129
   
   **Special notes for your reviewer**:
   This change is limited to semicolon-separated MySQL DML statements in AT 
mode. PostgreSQL behavior is unchanged.
   
   Tested with :
   `go test ./pkg/datasource/sql/exec/at ./pkg/datasource/sql/util 
./pkg/datasource/sql -count=1
   
   **Does this PR introduce a user-facing change?**:
   
   <!--
   If no, just write "NONE" in the release-note block below.
   If yes, a release note is required:
   Enter your extended release note in the block below. If the PR requires 
additional action from users switching to the new release, include the string 
"action required".
   -->
   
   ```release-note
   Support MySQL multi-statement DML execution in AT mode.
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to