mirror of
https://github.com/MariaDB/server.git
synced 2025-02-20 20:33:15 +01:00
![]() Item:print_for_table_def() uses QT_TO_SYSTEM_CHARSET to print the DEFAULT expression into FRM file during CREATE TABLE. Therefore, the expression is encoded in utf8 in FRM. get_field_default_value() erroneously used field->charset() to print the DEFAULT expression at SHOW CREATE TABLE time. Fixing get_field_default_value() to use &my_charset_utf8mb4_general_ci instead. This makes DEFAULT work in the way way with: - virtual column expressions: if (field->vcol_info) { StringBuffer<MAX_FIELD_WIDTH> str(&my_charset_utf8mb4_general_ci); field->vcol_info->print(&str); - check constraint expressions: if (field->check_constraint) { StringBuffer<MAX_FIELD_WIDTH> str(&my_charset_utf8mb4_general_ci); field->check_constraint->print(&str); Additional cleanup: Fixing system_charset_info to &my_charset_utf8mb4_general_ci in a few places to make non-BMP characters work in DEFAULT, virtual column, check constraint expressions. |
||
---|---|---|
.. | ||
async_example.c | ||
client_metadata.h | ||
client_priv.h | ||
CMakeLists.txt | ||
completion_hash.cc | ||
completion_hash.h | ||
echo.c | ||
mariadb-conv.cc | ||
my_readline.h | ||
mysql.cc | ||
mysql_plugin.c | ||
mysql_upgrade.c | ||
mysqladmin.cc | ||
mysqlbinlog.cc | ||
mysqlcheck.c | ||
mysqldump.c | ||
mysqlimport.c | ||
mysqlshow.c | ||
mysqlslap.c | ||
mysqltest.cc | ||
readline.cc |