This repository has been archived by the owner on Jun 14, 2022. It is now read-only.
Releases: skeema/tengo
Releases · skeema/tengo
v0.10.3
- Connection pool management adjustments
- Improved connection reuse during concurrent queries for schema introspection
- Go 1.15's DB.SetConnMaxIdleTime is now used to ensure that idle connections aren't reused beyond the session wait_timeout
- Max connection reuse lifetime increased to 60s (previously was 30s, or lower depending on wait_timeout)
- Several module dependencies have been updated to their latest versions
v0.10.2
- MariaDB 10.6 support, including its IGNORED indexes feature (similar to MySQL 8's INVISIBLE indexes)
- Work-around for MariaDB information_schema truncating check_constraints.check_clause at 64 bytes in MariaDB releases prior to Feb 2021
- Two new DockerizedInstance methods for more flexible execution of raw SQL from a string or io.Reader
- Bug fix when diff'ing non-InnoDB tables: previously the StrictIndexOrder statement modifier was inadvertently always enabled for any non-InnoDB table with a PK
v0.10.1
- MySQL 8.0.24: Fix diff support for tables with utf8mb3 default charset
- DockerizedInstance.Start: re-inspect the container up to 5 times if the port mapping hasn't shown up yet
- Instance.DropTablesInSchema: Fix error return for non-deadlocks; explicitly skip views which are present in information_schema.partitions in MySQL 8
- BulkDropOptions: new Schema field can be supplied to skip some I_S queries, improving performance
- NormalizeCreateOptions: no longer removes redundant MySQL 8 charset and collation fields from columns in SHOW CREATE TABLE; this is now handled elsewhere since it isn't InnoDB-specific
- Dependency updates relating to MySQL driver, Docker, etc
v0.10.0
- Support check constraints
- Support invisible columns in MySQL 8.0.23+
- Connection pool handling refactor
- Instance.Connect is now deprecated in favor of using either Instance.ConnectionPool or Instance.CachedConnectionPool
- New method Instance.Valid is like a memoizing version of Instance.CanConnect
- Connection pools have max connections throttled automatically based on server-side limits
- Mutex locking mechanics have changed
- Server-side session variable defaults that are incompatible with introspection are now avoided automatically
- Use newer go-sql-driver/mysql to set multiple session variables in one round-trip
- information_schema SELECTs now use SQL_BUFFER_RESULT to reduce locking time
- DropTablesInSchema now executes DROPs sequentially (no concurrency) in large buffer pool situations pre-8.0.23
- Performance improvements
- Bug fix for some default column expression edge cases in MySQL 8
- Bug fix for int display widths in tables created in pre-8.0.19 releases of MySQL 8 that were later upgraded to 8.0.19+
- Bug fix for Instance.ForceFlavor setting patch version properly
As this package is still pre-1.0, some minor backwards-incompatible changes have been introduced:
- Instance mutex field is no longer exported. This was only exported previously as an inadvertent side-effect of being an embedded field.
- Index.OnlyVisibilityDiffers method removed. This is no longer used and is achievable through simpler means.
- Instance.StrictModeCompliant method removed. No longer used; overly complex and not sufficiently thorough.
- Flavor.HasInnoFileFormat method removed. Was only present previously to support Instance.StrictModeCompliant.
- Flavor.InnoRowFormatReqs method removed. Was only present previously to support Instance.StrictModeCompliant.
v0.9.7
v0.9.6
v0.9.5
- Add MariaDB 10.5 to list of officially supported flavors
- New MariaDB 10.5
BINLOG ADMIN
privilege now detected by Instance.CanSkipBinlog() - Column alterations between the
binary(16)
type and MariaDB 10.5's newinet6
type are always considered safe - Fix handling of MariaDB 10.3+ column compression, and unify struct field with Percona Server column compression
v0.9.4
v0.9.3
v0.9.2
- Flavor struct, and several related methods, can now optionally account for patch version number
- MySQL 8.0.19: fix diff problems with foreign key ordering; properly handle lack of int display widths
- Add diff support for tables using InnoDB transparent page compression (MySQL 5.7+, Percona Server 5.7+, MariaDB 10.2+)
- Add diff support for tables using column compression (Percona Server 5.6.33+)