Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.4.24
-
None
Description
MDEV-18778 (10.2) broke using the output in embedded server mode (and no-one noticed) because the SQL generated required the delimiter parsing in the client.
A mtr test mysql_tzinfo_to_sql_symlink.test to work with embedded mode |
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo > $MYSQL_TMP_DIR/tz.sql
|
--source $MYSQL_TMP_DIR/tz.sql
|
MDEV-23326 (10.4) didn't do a LOCK TABLES in the non-skip_write_binlog branch of the code and should have.
The --skip-write-binlog option from MDEV-18778 that doesn't always skip-write-binlog is just horribly confusing. As bnestere said, what breaks? "explicitly providing --skip-write-binlog, but actually wants mysql-tzinfo-to-sql to be binlogged".
Lastly, we could make the SQL generated preserve the session SQL_LOG_BIN state.
There's also a 10.6 case with wsrep_mode=REPLICA_ARIA where there isn't a need to change to InnoDB for replicating, but its a fairly minor case.
Implementation
Using user variables and EXECUTE IMMEDIATE prevents the need to use delimiter or a stored procedure.
draft implementation (against 10.6) (wsrep_mode=REPLICA_ARIA could be removed and the rest is 10.4 friendly (where MDEV-23326 was added).
Some test cases from a previous MDEV-23326 draft may be useful.
A 10.3 fix by moving SQL_LOG_BIN=? out of the WSREP_ON=ON condition.
Attachments
Issue Links
- is caused by
-
MDEV-18778 mysql_tzinfo_to_sql does not work correctly in MariaDB Galera
- Closed
-
MDEV-23326 aria TRANSACTIONAL=1 significantly slow on timezone intialisation (was: time zone initialision significantly slower in 10.4 compared to 10.3 (myisam))
- Closed
- relates to
-
MDBF-389 provide timezone data files
- Closed
-
MDEV-28782 mariadb-tzinfo-to-sql to work in bootstrap mode
- Closed
-
MDEV-30854 mariadb-tzinfo-to-sql creates sql_mode dependant statements
- Closed