WL#3768: Rename BINLOG_FORMAT to BINLOG_MODE

Affects: Server-7.1   —   Status: Un-Assigned   —   Priority: Medium

SUMMARY
-------
Change the name of variable BINLOG_FORMAT to BINLOG_MODE.


DECSIONS REGARDING THIS WL
------------------------------------
- Jeffrey says "not in 5.1"
  -- Lars, 2007-03-22

RATIONALE
---------
1. Everyone keeps saying binlog *mode* while the flag is now called "format"
2. It is not really a "format", it is a policy for how the server is handling 
  logging.  Currently we have three different modes: STATEMENT, MIXED and ROW.


TODO
----
1. Change name (keep possibility to use binlog_format in my.cnf but only there)
2. Update docs

(This is extremely easy to do and will not risk stability of server.)


OPINION - Lars
--------------
Since 5.1 is still not GA yet (2007-03-19), Lars thinks that we can
change the name now without making a big deal out of it (if someone
thinks that this change would really hurt customers, then please let
him know).


OPINION - Sinisa
----------------
On Tue, Mar 13, 2007 at 05:09:42PM +0200, Sinisa Milivojevic wrote:
> Lars Thalmann writes:
> > Do you think this change would be too intrusive to our 5.1 users?  Is
> > anyone using it? :)  Can you check with rest of support if you don't know?
>
> Lars,
> 
> Don't consider myself a 5.1 expert yet.
> 
> Here is the answer though.
> 
> There are a number of customers using 5.1 and those are using
> BINLOG_FORMAT.
> 
> Especially cluster customers seem to be using it.
> 
> Still, the numbers are rather small.
> 
> So, you decide whether you will change it or will you make those to be
> synonims.


OPINION - Tomas
---------------
12:10 <lars> 
If we change name of variable binlog_format into binlog_mode, do you
think any cluster customer would have problems with this?  I would
like to change the name before 5.1 get GA, since 1) everyone calls it
mode anyway, 2) format is not what it is.  I can't think any customer
would have any script for this yet

12:13 <tomas> 
I can't see any issues (but I think we should allow the _format as
depricated)

12:15 <lars> i.e. have an alias you mean..

12:23 <tomas> "alias" yes, but basically allow both names...

12:24 <lars> It will not be good in SHOW VARIABLES output, I think..

13:25 <tomas> 
I'm not thinking about show variables just the options to the mysqld
so allow binlog-format in my.cnf for backwards compatability


OPINION - Mats
--------------
I don't view it as a big deal, but if we are going to change it, we
should do it now. Otherwise, we should stick with it forever.

I think that it would be more appropriate to use BINLOG_MODE, but I
don't really mind keeping the BINLOG_FORMAT around for backward
compatibility.

Whatever variable name we use, I think that we should refer to it as
"binlog mode", since this is what it is. Trying to invent some other
terminology just to be "backward compatible" seems strange in my eyes.


OPINION - Trudy
---------------
At this point, only Jeffrey may authorize any new
tasks in 5.1, unless the task relates directly to
fixing a tagged bug. So I'm adding him to this
thread.

The WL proposes to change the name of a variable from
BINLOG_FORMAT to BINLOG_MODE. Some questions:
- How long has the variable existed? Unless this is a
very new variable (e.g. introduced late in 5.1), it's
likely that it's already in use. We can't rename
variables that are in use without following the
deprecation process, because it isn't fair to users
to make such changes without notice. (Recall the email
I just sent out about Google's request that we not
change column names in SHOW statements; the same
principle applies here.)
- Why bother making the change at all? OK, you've
decided a new name is more informative -- but if our
documentation is clear about the purpose of the
BINLOG_FORMAT variable, I see no need to change the
name.

My recommendation: I don't think we should make this
change at all. If we do decide to make the change,
it should not be done in 5.1 because (a) 5.1 is
frozen and (b) the deprecation process hasn't been
followed.

OPINION - Peter
---------------

I've just read Arjen Lentz's blog post
http://openquery.com/blog/type-disappears-mysql-544
and seen that difficulties still crop up with the
ancient name change from TYPE to ENGINE.
I like the idea of cancelling this task.