diff --git a/include/maxscale/protocol/mariadb/mysql.hh b/include/maxscale/protocol/mariadb/mysql.hh
|
index 422665d730..9178337e7a 100644
|
--- a/include/maxscale/protocol/mariadb/mysql.hh
|
+++ b/include/maxscale/protocol/mariadb/mysql.hh
|
@@ -318,6 +318,7 @@ enum gw_mysql_capabilities_t
|
// Default extended flags that MaxScale supports
|
constexpr const uint32_t MXS_EXTRA_CAPABILITIES_SERVER =
|
MXS_MARIA_CAP_STMT_BULK_OPERATIONS
|
+ | MXS_MARIA_CAP_EXTENDED_TYPES
|
| MXS_MARIA_CAP_CACHE_METADATA;
|
|
// Same as above, for uint64.
|
diff --git a/server/modules/protocol/MariaDB/mariadb_client.cc b/server/modules/protocol/MariaDB/mariadb_client.cc
|
index a3b8955a29..a833b81871 100644
|
--- a/server/modules/protocol/MariaDB/mariadb_client.cc
|
+++ b/server/modules/protocol/MariaDB/mariadb_client.cc
|
@@ -525,7 +525,12 @@ bool MariaDBClientConnection::send_server_handshake()
|
{
|
// The metadata caching was added in 10.6 and should only be enabled if all nodes support it.
|
caps &= ~(MXS_MARIA_CAP_CACHE_METADATA << 32);
|
- mxb_assert((caps & MXS_EXTRA_CAPS_SERVER64) == (MXS_MARIA_CAP_STMT_BULK_OPERATIONS << 32));
|
+ }
|
+
|
+ if (min_version < 100500)
|
+ {
|
+ // The extended type info was added in 10.5
|
+ caps &= ~(MXS_MARIA_CAP_EXTENDED_TYPES << 32);
|
}
|
}
|
|
@@ -534,6 +539,7 @@ bool MariaDBClientConnection::send_server_handshake()
|
// Some module requires that only the base protocol is used, most likely due to the fact
|
// that it processes the contents of the resultset.
|
caps &= ~((MXS_MARIA_CAP_CACHE_METADATA << 32) | GW_MYSQL_CAPABILITIES_DEPRECATE_EOF);
|
+ caps &= ~(MXS_MARIA_CAP_EXTENDED_TYPES << 32);
|
mxb_assert((caps & MXS_EXTRA_CAPS_SERVER64) == (MXS_MARIA_CAP_STMT_BULK_OPERATIONS << 32)
|
|| cap_types != CapTypes::MARIADB);
|
mxb_assert((caps & GW_MYSQL_CAPABILITIES_DEPRECATE_EOF) == 0);
|