Commit 20c8867
restore v19 behavior: push LIMIT to each shard for non-scatter multi-shard DML (#838)
* feat: add scatter-update-limit-passthru vtgate flag
When enabled, multi-shard UPDATE/DELETE with LIMIT on non-scatter
routes (e.g. WHERE id IN (...) on a vindex column) pushes the LIMIT
to each shard directly instead of converting to DMLWithInput which
requires schema tracking. Scatter routes are unaffected.
This restores v19 behavior for targeted multi-shard DML with LIMIT
behind an opt-in flag.
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
* fix: return false instead of panic for test mock IsScatterUpdateLimitPassthruEnabled
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
* feat: add scatter-update-limit-passthru to help text files
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
* fix: remove scatter-update-limit-passthru from vttestserver help text
The flag is only registered for vtgate and vtcombo, not vttestserver.
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
* fix: correct spacing in scatter-update-limit-passthru help text
Add one extra space to align the description column consistently
with other flags in vtgate.txt and vtcombo.txt.
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
* remove scatter-update-limit-passthru flag, enable by default
The behavior is now always-on: non-scatter multi-shard DML with LIMIT
pushes the LIMIT to each shard directly. Scatter DML with LIMIT still
uses DMLWithInput as before.
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
* remove scatter-update-limit-passthru from help text files
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
* fix e2e test: use col instead of val for user_extra
The user_extra table does not have a val column in the e2e schema.
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
---------
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>1 parent fabb599 commit 20c8867
2 files changed
Lines changed: 55 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
525 | 525 | | |
526 | 526 | | |
527 | 527 | | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
528 | 531 | | |
529 | 532 | | |
530 | 533 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7430 | 7430 | | |
7431 | 7431 | | |
7432 | 7432 | | |
| 7433 | + | |
| 7434 | + | |
| 7435 | + | |
| 7436 | + | |
| 7437 | + | |
| 7438 | + | |
| 7439 | + | |
| 7440 | + | |
| 7441 | + | |
| 7442 | + | |
| 7443 | + | |
| 7444 | + | |
| 7445 | + | |
| 7446 | + | |
| 7447 | + | |
| 7448 | + | |
| 7449 | + | |
| 7450 | + | |
| 7451 | + | |
| 7452 | + | |
| 7453 | + | |
| 7454 | + | |
| 7455 | + | |
| 7456 | + | |
| 7457 | + | |
| 7458 | + | |
| 7459 | + | |
| 7460 | + | |
| 7461 | + | |
| 7462 | + | |
| 7463 | + | |
| 7464 | + | |
| 7465 | + | |
| 7466 | + | |
| 7467 | + | |
| 7468 | + | |
| 7469 | + | |
| 7470 | + | |
| 7471 | + | |
| 7472 | + | |
| 7473 | + | |
| 7474 | + | |
| 7475 | + | |
| 7476 | + | |
| 7477 | + | |
| 7478 | + | |
| 7479 | + | |
| 7480 | + | |
| 7481 | + | |
| 7482 | + | |
| 7483 | + | |
| 7484 | + | |
7433 | 7485 | | |
7434 | 7486 | | |
0 commit comments