Skip to content

1.43.10

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Oct 23:48

Merged PRs

dolt

  • 8508: Update more system tables for doltgres
  • 8505: Fix panics on schema changes
    fixes: #8504
    Use schema hash to detect when database statistics might be incompatible. Drops all statistics for schema update. This could be improved to a subset of statistics if we wanted in the future.
  • 8501: Bug fixes for replication
    • Convert @@server_id to uint32 value when it gets loaded as a string from config.json
    • Send binary logfile name in server heartbeat events, now required in MySQL 8.4
  • 8499: scanner more safe whitespace skip
  • 8497: Update the protobuf version from 22.0 to 28.3
    Also update README to reflect the bazel 6.3.0 version
  • 8493: add bats test for kill query <pid>
  • 8482: Move dolt system tables to dolt schema for doltgres

go-mysql-server

  • 2727: fix dropped error in createView
  • 2726: remove resolveDescribeQuery rule
    This rule just recurses into the analyzer, so we should just do it right at the beginning, so we should do it right away and avoid calling all other rules.
    This would be better/cleaner in the planbuilder, but we would need to tell the analyzer to not analyze this node or skip it somehow.
    It's possible to move this logic into analyzeWithSelector.
    It might be more difficult to move this above Analyze, as we'd have to put this logic in a variety of places.
  • 2723: server/handle.go: doQuery cleanup of some error handling.
  • 2722: internal/sockstate: Restore connection checking on Linux.
    GMS server handler is supposed to cancel running queries if the connection which issued them goes away. It does this by checking the connection state out-of-band anytime the query is running and canceling theh query if the connection goes away. The connection checking code is platform-specific and currently only works on Linux.
    In commit 538696b2c943ac7f3cacf1b67a3a5ff40ae64a00 I introduced a bug where the connection checking code tries to inspect the socket state of an already closed file descriptor. This change fixes the behavior so that the file descriptor is left open until the necessary socket state is extracted.
  • 2720: move wrapTriggerRollback logic
    This PR removes the plan.TriggerRollback and plan.NoopTriggerRollback node and applies the triggerRollbackIter directly.
    When there are multiple nested triggers (aka triggers that call other triggers), we used to have multiple nested trigger rollbacks with different savepoints. It turns out that was unnecessary and a single savepoint at the top of the iter tree is enough; when there's an error, it propagates back to the top, rollingback all changes.
  • 2718: use sqlCtx in handler
    Tests here: #8493
  • 2717: push Distinct nodes below Sort nodes
    This PR optimized queries like:
    select distinct i from t order by i;
    When there are many duplicate values in column i, it is much more efficient to eliminate duplicates first, then sort the results.
    There are somewhat unrelated optimizations left as TODOs.
    Optimize query: #8488

vitess

  • 373: Fixed printing bug in AliasedExpr node (was calling wrong print metho…
    …d, which doesn't work with custom formatters)
  • 371: support quoted character set values
    This PR adds syntax support for quoted character set values.
    fix: #8455

Closed Issues

  • 8504: Crash when refreshing statistics after a PK column change

Performance

Read Tests MySQL Dolt Multiple
covering_index_scan 2.07 0.63 0.3
groupby_scan 13.22 17.01 1.3
index_join 1.34 2.3 1.7
index_join_scan 1.27 1.89 1.5
index_scan 34.33 53.85 1.6
oltp_point_select 0.18 0.27 1.5
oltp_read_only 3.49 5.57 1.6
select_random_points 0.34 0.68 2.0
select_random_ranges 0.39 0.68 1.7
table_scan 34.33 54.83 1.6
types_table_scan 75.82 142.39 1.9
reads_mean_multiplier 1.5
Write Tests MySQL Dolt Multiple
oltp_delete_insert 7.98 5.88 0.7
oltp_insert 3.82 2.91 0.8
oltp_read_write 8.58 11.65 1.4
oltp_update_index 3.89 2.97 0.8
oltp_update_non_index 3.89 2.91 0.7
oltp_write_only 5.37 5.99 1.1
types_delete_insert 7.7 6.32 0.8
writes_mean_multiplier 0.9
TPC-C TPS Tests MySQL Dolt Multiple
tpcc-scale-factor-1 99.12 40.22 2.5
tpcc_tps_multiplier 2.5
Overall Mean Multiple 1.63