Repository navigation
v0.2.10
What changed since v0.2.9
v0.2.10 adds the remaining MySQL CAST and CONVERT destinations and fixes durability, parsing, arithmetic, and DDL behaviour so it matches the documented MySQL 8.4 contracts.
New SQL capabilities
- Accepted the remaining MySQL cast destinations in
CASTandCONVERT:BINARYwith its optional length,DOUBLE,REAL,FLOAT,DATE,DATETIMEandTIMEwith their optional fractional-second precision, andYEAR. A temporal or approximate-numeric result advertises the target family's wire metadata, a temporal source contributes its date or clock part to a narrower target, and a malformed or out-of-range value still fails with the family's MySQL error identity.
Durability and DDL
- Dropped a table's durable rows and indexes with
DROP TABLEinstead of keeping them until a laterCREATE TABLEof the same name adopted them. - Persisted
ALTER TABLEchanges that modify only a column type or nullability so they survive a graceful restart. - Renamed the column references held by
PRIMARY KEY,UNIQUE, andFOREIGN KEYconstraints whenALTER TABLE ... RENAME COLUMNorCHANGE COLUMNrenames a column, instead of failing with MySQL error 1072 or publishing constraints that name a column that no longer exists. - Rejected
DROP DATABASEwith MySQL error 3730 when a table in the database is referenced by a foreign key constraint in another database, instead of dropping it and leaving the child table's constraint pointing at an unknown database. - Reported MySQL error 1452 for foreign key violations on new or changed child rows in self-referencing tables, including orphan
INSERTvalues, instead of MySQL error 1451, which stays reserved for deleted or updated parent rows.
SQL parsing and expressions
- Accepted
LIKE 'pattern' ESCAPE ''as disabling the escape character instead of failing with error 1064. - Returned the BIGINT result for
DIVby a floating-point value when the truncated quotient equalsMaxInt64, instead of a false overflow error 1690. - Prevented the overflow guard for
MinInt64 * -1from trapping on x86_64; the expression now returnsMinInt64as MySQL does. - Negated unsigned values in the signed
BIGINTdomain: a value at or belowMaxInt64 + 1negates to a signed result, and only a value above that fails with MySQL error 1690, instead of rejecting every unary minus on an unsigned value.
The release includes native binaries for macOS Apple Silicon, Linux amd64, and Linux arm64. It also includes a multi-architecture OCI image archive for linux/amd64 and linux/arm64/v8.
See the full changelog.