Hi, sujatha! On Jul 17, sujatha wrote: > revision-id: 9b999e79a358de2c86ae44fe83cf6c62cff1d2ef > (mariadb-10.3.21-180-g9b999e79a35) > parent(s): 73aa31fbfd793bdb597bb19c52118ab4e637f4bc > author: Sujatha > committer: Sujatha > timestamp: 2020-07-17 12:23:32 +0530 > message: > > MDEV-23108: Point in time recovery of binary log fails when sql_mode=ORACLE > > Problem: > ======== > During point in time recovery of binary log syntax error is reported for > BEGIN statement and recovery fails. > > Analysis: > ========= > In MariaDB 10.3 and later, setting the sql_mode system variable to Oracle > allows the server to understand a subset of Oracle's PL/SQL language. When > sql_mode=ORACLE is set, it switches the parser from the MariaDB parser to > Oracle compatible parser. With this change 'BEGIN' is not considered as > 'START TRANSACTION'. Hence the syntax error is reported. > > Fix: > === > Add a new option to 'mysqlbinlog' tool named 'sql_mode_oracle'. When > 'sql_mode_oracle' option is specified 'BEGIN' statements will be replaced > with 'START TRANSACTION' in the mysqlbinlog output.
Why not to print START TRANSACTION unconditionally? It worsk in all modes, a user won't need to learn a new option. Regards, Sergei VP of MariaDB Server Engineering and secur...@mariadb.org _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp