pull/274/merge
yoku0825 2024-06-06 10:06:42 +09:00 committed by GitHub
commit be7af0dd46
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 32 additions and 2 deletions

View File

@ -32,6 +32,10 @@
#define my_rwlock_init(lock, unused) native_rw_init(lock) #define my_rwlock_init(lock, unused) native_rw_init(lock)
#endif #endif
#if (!defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 80031)
using TABLE_LIST = Table_ref;
#endif
class THD; class THD;
#define MAX_NUM_QUERY_TABLE_ELEM 100 #define MAX_NUM_QUERY_TABLE_ELEM 100

View File

@ -135,7 +135,14 @@ VIEW_TABLES=""
if echo $MYVER | grep -P '^(8\.0)' > /dev/null if echo $MYVER | grep -P '^(8\.0)' > /dev/null
then then
LEX_COMMENT='printf ", 0"' LEX_COMMENT='printf ", 0"'
VIEW_TABLES="print_offset TABLE_LIST view_tables" if echo $MYVER | grep -P '^8\.0\.(3[2-9]|[4-9]\d)' > /dev/null
then
# MySQL 8.0.32 and laters
VIEW_TABLES="print_offset Table_ref view_tables"
else
# MySQL 8.0.32 and ealiers
VIEW_TABLES="print_offset TABLE_LIST view_tables"
fi
else else
LEX_COMMENT="print_offset LEX comment" LEX_COMMENT="print_offset LEX comment"
VIEW_TABLES='printf ", 0"' VIEW_TABLES='printf ", 0"'

View File

@ -833,6 +833,25 @@ static bool parse_length_encoded_string(
, data_length , data_length
, nchars_max , nchars_max
); );
#elif MYSQL_VERSION_ID >= 80031
/*
TODO: Migrate the data itself to UTF8MB4,
this is still UTF8MB3 printed in a UTF8MB4 column.
*/
const char *well_formed_error_pos = NULL, *cannot_convert_error_pos = NULL,
*from_end_pos = NULL;
copy_length = well_formed_copy_nchars(
&my_charset_utf8mb3_bin
, dest
, dest_size
, from_cs
, *ptr
, data_length
, nchars_max
, &well_formed_error_pos
, &cannot_convert_error_pos
, &from_end_pos
);
#else #else
/* /*
TODO: Migrate the data itself to UTF8MB4, TODO: Migrate the data itself to UTF8MB4,
@ -1086,7 +1105,7 @@ ssize_t Audit_json_formatter::event_format(ThdSesData *pThdData, IWriter *writer
uint errors = 0; uint errors = 0;
size_t len = copy_and_convert(to, to_amount, size_t len = copy_and_convert(to, to_amount,
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100504 #if (defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100504) || (!defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 80031)
&my_charset_utf8mb3_general_ci, &my_charset_utf8mb3_general_ci,
#else #else
&my_charset_utf8_general_ci, &my_charset_utf8_general_ci,