Skip to content

Commit

Permalink
MDEV-35693: Improve SSS column sizes
Browse files Browse the repository at this point in the history
Resize SHOW REPLICA STATUS’s (more precisely, the `INFORMATION_SCHEMA`
table `SLAVE_STATUS`’s) columns to better match their possible values.

In particular, many text columns – namely `Replicate_` ones – could
overflow (read: truncate) if the data is absurdly (but validly) long.
  • Loading branch information
ParadoxV5 committed Jan 17, 2025
1 parent e1abe7c commit c3bc7bd
Showing 1 changed file with 31 additions and 31 deletions.
62 changes: 31 additions & 31 deletions sql/sql_show.cc
Original file line number Diff line number Diff line change
Expand Up @@ -10623,66 +10623,66 @@ ST_FIELD_INFO slave_status_info[]=
Column("Slave_IO_State", Varchar(64), NULLABLE),
Column("Master_Host", Varchar(HOSTNAME_LENGTH), NULLABLE),
Column("Master_User", Varchar(USERNAME_LENGTH), NULLABLE),
Column("Master_Port", ULong(7), NOT_NULL),
Column("Master_Port", ULong(5), NOT_NULL),
Column("Connect_Retry", SLong(10), NOT_NULL),
Column("Master_Log_File", Varchar(FN_REFLEN), NOT_NULL),
Column("Read_Master_Log_Pos", ULonglong(10), NOT_NULL),
Column("Read_Master_Log_Pos", ULonglong(20), NOT_NULL),
Column("Relay_Log_File", Varchar(FN_REFLEN), NOT_NULL),
Column("Relay_Log_Pos", ULonglong(10), NOT_NULL),
Column("Relay_Log_Pos", ULonglong(20), NOT_NULL),
Column("Relay_Master_Log_File", Varchar(FN_REFLEN), NOT_NULL),
Column("Slave_IO_Running", Varchar(10), NOT_NULL),
Column("Slave_SQL_Running", Varchar(3), NOT_NULL),
Column("Replicate_Do_DB", Name(), NOT_NULL),
Column("Replicate_Ignore_DB", Name(), NOT_NULL),
Column("Replicate_Do_Table", Name(), NOT_NULL),
Column("Replicate_Ignore_Table", Name(), NOT_NULL),
Column("Replicate_Wild_Do_Table", Name(), NOT_NULL),
Column("Replicate_Wild_Ignore_Table", Name(), NOT_NULL),
Column("Slave_IO_Running", Varchar(sizeof("Connecting")-1), NOT_NULL),
Column("Slave_SQL_Running", Varchar(sizeof("Yes")-1), NOT_NULL),
Column("Replicate_Do_DB", Longtext(), NOT_NULL),
Column("Replicate_Ignore_DB", Longtext(), NOT_NULL),
Column("Replicate_Do_Table", Longtext(), NOT_NULL),
Column("Replicate_Ignore_Table", Longtext(), NOT_NULL),
Column("Replicate_Wild_Do_Table", Longtext(), NOT_NULL),
Column("Replicate_Wild_Ignore_Table", Longtext(), NOT_NULL),
Column("Last_Errno", SLong(4), NOT_NULL),
Column("Last_Error", Varchar(20), NULLABLE),
Column("Last_Error", Varchar(MAX_SLAVE_ERRMSG), NULLABLE),
Column("Skip_Counter", ULong(10), NOT_NULL),
Column("Exec_Master_Log_Pos", ULonglong(10), NOT_NULL),
Column("Relay_Log_Space", ULonglong(10), NOT_NULL),
Column("Until_Condition", Varchar(6), NOT_NULL),
Column("Exec_Master_Log_Pos", ULonglong(20), NOT_NULL),
Column("Relay_Log_Space", ULonglong(20), NOT_NULL),
Column("Until_Condition", Varchar(sizeof("Master")-1), NOT_NULL),
Column("Until_Log_File", Varchar(FN_REFLEN), NULLABLE),
Column("Until_Log_Pos", ULonglong(10), NOT_NULL),
Column("Master_SSL_Allowed", Varchar(7), NULLABLE),
Column("Until_Log_Pos", ULonglong(20), NOT_NULL),
Column("Master_SSL_Allowed", Varchar(sizeof("Ignored")-1), NULLABLE),
Column("Master_SSL_CA_File", Varchar(FN_REFLEN), NULLABLE),
Column("Master_SSL_CA_Path", Varchar(FN_REFLEN), NULLABLE),
Column("Master_SSL_Cert", Varchar(FN_REFLEN), NULLABLE),
Column("Master_SSL_Cipher", Varchar(FN_REFLEN), NULLABLE),
Column("Master_SSL_Key", Varchar(FN_REFLEN), NULLABLE),
Column("Seconds_Behind_Master", SLonglong(10), NULLABLE),
Column("Master_SSL_Verify_Server_Cert", Varchar(3), NOT_NULL),
Column("Seconds_Behind_Master", ULonglong(20), NULLABLE),
Column("Master_SSL_Verify_Server_Cert", Varchar(sizeof("Yes")-1), NOT_NULL),
Column("Last_IO_Errno", SLong(4), NOT_NULL),
Column("Last_IO_Error", Varchar(MYSQL_ERRMSG_SIZE), NULLABLE),
Column("Last_IO_Error", Varchar(MAX_SLAVE_ERRMSG), NULLABLE),
Column("Last_SQL_Errno", SLong(4), NOT_NULL),
Column("Last_SQL_Error", Varchar(MYSQL_ERRMSG_SIZE), NULLABLE),
Column("Replicate_Ignore_Server_Ids", Varchar(FN_REFLEN), NOT_NULL),
Column("Last_SQL_Error", Varchar(MAX_SLAVE_ERRMSG), NULLABLE),
Column("Replicate_Ignore_Server_Ids", Longtext(), NOT_NULL),
Column("Master_Server_Id", ULong(10), NOT_NULL),
Column("Master_SSL_Crl", Varchar(FN_REFLEN), NULLABLE),
Column("Master_SSL_Crlpath", Varchar(FN_REFLEN), NULLABLE),
Column("Using_Gtid", Varchar(15), NULLABLE),
Column("Gtid_IO_Pos", Varchar(1024), NOT_NULL),
Column("Replicate_Do_Domain_Ids", Varchar(FN_REFLEN), NOT_NULL),
Column("Replicate_Ignore_Domain_Ids", Varchar(FN_REFLEN), NOT_NULL),
Column("Parallel_Mode", Varchar(15), NOT_NULL),
Column("Using_Gtid", Varchar(sizeof("Current_Pos")-1), NULLABLE),
Column("Gtid_IO_Pos", Longtext(), NOT_NULL),
Column("Replicate_Do_Domain_Ids", Longtext(), NOT_NULL),
Column("Replicate_Ignore_Domain_Ids", Longtext(), NOT_NULL),
Column("Parallel_Mode", Varchar(sizeof("conservative")-1), NOT_NULL),
Column("SQL_Delay", ULong(10), NOT_NULL),
Column("SQL_Remaining_Delay", ULong(10), NULLABLE),
Column("Slave_SQL_Running_State", Varchar(64), NULLABLE),
Column("Slave_SQL_Running_State", Longtext(), NULLABLE),
Column("Slave_DDL_Groups", ULonglong(20), NOT_NULL),
Column("Slave_Non_Transactional_Groups", ULonglong(20), NOT_NULL),
Column("Slave_Transactional_Groups", ULonglong(20), NOT_NULL),
Column("Replicate_Rewrite_DB",Varchar(1024), NOT_NULL),
Column("Replicate_Rewrite_DB",Longtext(), NOT_NULL),
Column("Retried_transactions", ULong(10), NOT_NULL),
Column("Max_relay_log_size", ULonglong(10), NOT_NULL),
Column("Executed_log_entries", ULong(10), NOT_NULL),
Column("Slave_received_heartbeats", ULong(10), NOT_NULL),
Column("Slave_heartbeat_period", Float(703), NOT_NULL), // 3 decimals
Column("Gtid_Slave_Pos", Varchar(FN_REFLEN), NOT_NULL),
Column("Gtid_Slave_Pos", Longtext(), NOT_NULL),
Column("Master_last_event_time", Datetime(0), NULLABLE),
Column("Slave_last_event_time", Datetime(0), NULLABLE),
Column("Master_Slave_time_diff", SLonglong(10), NULLABLE),
Column("Master_Slave_time_diff", SLong(10), NULLABLE),
CEnd()
};

Expand Down

0 comments on commit c3bc7bd

Please sign in to comment.