v18.0.3
版本发布时间: 2024-03-14 23:52:27
vitessio/vitess最新发布版本:v21.0.0-rc2(2024-10-23 13:13:47)
Release of Vitess v18.0.3
Summary
Table of Contents
Major Changes
Breaking Changes
ExecuteFetchAsDBA rejects multi-statement SQL
vtctldclient ExecuteFetchAsDBA
(and similarly the vtctl
and vtctlclient
commands) now reject multi-statement SQL with error.
For example, vtctldclient ExecuteFetchAsDBA my-tablet "stop replica; change replication source to auto_position=1; start replica
will return an error, without attempting to execute any of these queries.
Previously, ExecuteFetchAsDBA
silently accepted multi statement SQL. It would (attempt to) execute all of them, but:
- It would only indicate error for the first statement. Errors on 2nd, 3rd, ... statements were silently ignored.
- It would not consume the result sets of the 2nd, 3rd, ... statements. It would then return the used connection to the pool in a dirty state. Any further query that happens to take that connection out of the pool could get unexpected results.
- As another side effect, multi-statement schema changes would cause schema to be reloaded with only the first change, leaving the cached schema inconsistent with the underlying database.
ExecuteFetchAsDBA
does allow a specific use case of multi-statement SQL, which is where all statements are in the form of CREATE TABLE
or CREATE VIEW
. This is to support a common pattern of schema initialization, formalized in ApplySchema --batch-size
which uses ExecuteFetchAsDBA
under the hood.
The entire changelog for this release can be found here.
The release includes 47 merged Pull Requests.
Thanks to all our contributors: @app/github-actions, @app/vitess-bot, @frouioui, @harshit-gangal, @rohit-nayak-ps, @shlomi-noach, @systay, @wangweicugw
1、 vitess-18.0.3-72528db.tar.gz 553.51MB
2、 vitess-18.0.3-72528db.x86_64.rpm 553.2MB
3、 vitess_18.0.3-72528db_amd64.deb 554.25MB