← Back to team overview

maria-developers team mailing list archive

Re: 9b999e79a35: MDEV-23108: Point in time recovery of binary log fails when sql_mode=ORACLE


Hi, Sujatha!

On Jul 17, Sujatha wrote:
> Hello Sergei,
> On 17/07/20 1:46 pm, Sergei Golubchik wrote:
> > Hi, sujatha!
> >
> > On Jul 17, sujatha wrote:
> >> 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.
> There can be user applications that parse the mysqlbinlog output  for BEGIN,
> they  may suffer if we change the expected BEGIN to something else. Hence
> the current solution was chosen for GA versions. In 10.6 the BEGIN can 
> be replaced to START TRANSACTION unconditionally.

Backward compatibility is important, sure.

Still, I like to make a difference between the intentional documented
behavior, that we promise to keep the way it is, compatible.

And things that just happened to be the way they are, internal
implementation details that one shouldn't rely on. You know, order of
records in the output of SELECT without ORDER BY. I feel like one should
not rely on that and that we can change the latter at any time.

Do you think that "BEGIN" belongs to the first category?

VP of MariaDB Server Engineering
and security@xxxxxxxxxxx