|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 0.10.1 - 2026-08-10 |
| 4 | + |
| 5 | +- Support Trilogy. Adapter selection matched the client name rather than the |
| 6 | + protocol, and Trilogy reports `"Trilogy"`, so every Solid Objects call raised |
| 7 | + `UnsupportedDatabase: unsupported database adapter "Trilogy"` on a database |
| 8 | + the gem fully supports. Adapter names now resolve through one table of |
| 9 | + families, `DatabaseAdapter.family`, used by adapter selection, owner-id |
| 10 | + casting, and wake-up adapter selection alike, so a client cannot be accepted |
| 11 | + in one place and rejected in another. |
| 12 | +- Compare reconciliation owner ids in the column's own collation. |
| 13 | + `Instance.orphaned` cast owner primary keys to `CHAR`, and a cast result |
| 14 | + carries the connection collation rather than the column's. MySQL refuses to |
| 15 | + compare two collations, so the query raised `Illegal mix of collations` |
| 16 | + whenever the two differed. That is a property of the client rather than the |
| 17 | + schema: mysql2 negotiates the database default while Trilogy negotiates |
| 18 | + `utf8mb4_general_ci`. A mysql2 application that set `collation:` in |
| 19 | + `database.yml` could already hit this. |
| 20 | +- Recognise a statement interruption from any MySQL client. A synchronous |
| 21 | + deadline is enforced by asking the server to interrupt the statement, and the |
| 22 | + interruption was matched only through mysql2's `error_number`. Trilogy names |
| 23 | + it `error_code`, so a deadline surfaced as a raw |
| 24 | + `ActiveRecord::StatementTimeout` instead of `SyncEnqueueTimeout`. Both names |
| 25 | + are read, and Active Record's own classification is trusted first. |
| 26 | +- Run the MySQL suite against both mysql2 and Trilogy in CI, and key |
| 27 | + adapter-specific test skips to the database family rather than the client |
| 28 | + name, so a Trilogy run no longer silently skips every MySQL test. |
| 29 | + |
3 | 30 | ## 0.10.0 - 2026-08-10 |
4 | 31 |
|
5 | 32 | - Report a denied CLI command as a policy decision rather than a crash. |
|
0 commit comments