Skip to content

MySQL: time and chrono type tests are broken by MySQL server 8.0.28 #1664

Open
@abonander

Description

@abonander

I've figured out why CI is failing for MySQL.

For some reason, in the newest version of MySQL (8.0.28), for SELECT ? when a TIME, DATE, DATETIME or TIMESTAMP type is bound,
the Binary Resultset packet reports that the column has a type of MYSQL_TYPE_VAR_STRING.

They mention some changes to date/time type handling in their changelog which I strongly believe is relevant: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-28.html#mysqld-8-0-28-data-types

(And coincidentally acknowledge the breakage from 8.0.27 I previously had to fix here:

sqlx/sqlx-test/src/lib.rs

Lines 200 to 201 in 2182925

// MySQL 8.0.27 changed `<=>` to return an unsigned integer
"SELECT CAST({0} <=> ? AS SIGNED INTEGER), {0}, ?"
)

Question is, do we just fix this in the type tests or report this as a database bug, or both?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug:dbInvolves a bug in the database serverdb:mysqlRelated to MySQL

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions