diff --git a/storage/connect/ha_connect.cc b/storage/connect/ha_connect.cc index f40095b7cb8..0901ec92466 100644 --- a/storage/connect/ha_connect.cc +++ b/storage/connect/ha_connect.cc @@ -6467,6 +6467,15 @@ int ha_connect::create(const char *name, TABLE *table_arg, PGLOBAL g= xp->g; DBUG_ENTER("ha_connect::create"); + + if (table_arg->versioned()) + { + /* Due to microseconds not supported by CONNECT (MDEV-15967) system versioning + cannot work as expected (MDEV-15968, MDEV-28288) */ + my_error(ER_VERS_NOT_SUPPORTED, MYF(0), "CONNECT storage engine"); + DBUG_RETURN(HA_ERR_UNSUPPORTED); + } + /* This assignment fixes test failures if some "ALTER TABLE t1 ADD KEY(a)" query exits on ER_ACCESS_DENIED_ERROR diff --git a/storage/connect/mysql-test/connect/r/tbl.result b/storage/connect/mysql-test/connect/r/tbl.result index d3d1c550530..0932220a263 100644 --- a/storage/connect/mysql-test/connect/r/tbl.result +++ b/storage/connect/mysql-test/connect/r/tbl.result @@ -141,3 +141,12 @@ DROP TABLE t1; DROP TABLE t2; DROP TABLE t3; DROP TABLE t4; +# +# MDEV-28288 System versioning doesn't support correct work for +# engine=connect and doesn't always give any warnings/errors +# +create table t2 ( +x int, +y int +) engine=connect table_type=FIX file_name='test.txt' with system versioning; +ERROR HY000: System-versioned tables do not support CONNECT storage engine diff --git a/storage/connect/mysql-test/connect/t/tbl.test b/storage/connect/mysql-test/connect/t/tbl.test index 4f8497d4e6a..19f633e9bf7 100644 --- a/storage/connect/mysql-test/connect/t/tbl.test +++ b/storage/connect/mysql-test/connect/t/tbl.test @@ -51,3 +51,14 @@ DROP TABLE t1; DROP TABLE t2; DROP TABLE t3; DROP TABLE t4; + + +--echo # +--echo # MDEV-28288 System versioning doesn't support correct work for +--echo # engine=connect and doesn't always give any warnings/errors +--echo # +--error ER_VERS_NOT_SUPPORTED +create table t2 ( + x int, + y int +) engine=connect table_type=FIX file_name='test.txt' with system versioning;