301
301
ulong opt_binlog_rows_event_max_size;
302
const char *binlog_format_names[]= {"MIXED", "STATEMENT", "ROW", NULL};
303
TYPELIB binlog_format_typelib=
304
{ array_elements(binlog_format_names) - 1, "",
305
binlog_format_names, NULL };
306
302
uint32_t opt_binlog_format_id= (uint32_t) BINLOG_FORMAT_UNSPEC;
307
const char *opt_binlog_format= binlog_format_names[opt_binlog_format_id];
308
303
#ifdef HAVE_INITGROUPS
309
304
static bool calling_initgroups= false; /**< Used in SIGSEGV handler. */
2178
2173
assert(global_system_variables.binlog_format != BINLOG_FORMAT_UNSPEC);
2181
/* Check that we have not let the format to unspecified at this point */
2182
assert((uint)global_system_variables.binlog_format <=
2183
array_elements(binlog_format_names)-1);
2185
2176
if (opt_log_slave_updates && replicate_same_server_id)
2187
2178
sql_print_error(_("using --replicate-same-server-id in conjunction with "
2756
2747
OPT_SQL_BIN_UPDATE_SAME, OPT_REPLICATE_DO_DB,
2757
2748
OPT_REPLICATE_IGNORE_DB, OPT_LOG_SLAVE_UPDATES,
2758
2749
OPT_BINLOG_DO_DB, OPT_BINLOG_IGNORE_DB,
2760
2750
OPT_BINLOG_ROWS_EVENT_MAX_SIZE,
2762
2752
OPT_MEMLOCK, OPT_MYISAM_RECOVER,
2895
2885
{"bind-address", OPT_BIND_ADDRESS, N_("IP address to bind to."),
2896
2886
(char**) &my_bind_addr_str, (char**) &my_bind_addr_str, 0, GET_STR,
2897
2887
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
2898
{"binlog_format", OPT_BINLOG_FORMAT,
2899
N_("Does not have any effect without '--log-bin'. "
2900
"Tell the master the form of binary logging to use: either 'row' for "
2901
"row-based binary logging, or 'statement' for statement-based binary "
2902
"logging, or 'mixed'. 'mixed' is statement-based binary logging except "
2903
"for those statements where only row-based is correct: those which "
2904
"involve user-defined functions (i.e. UDFs) or the UUID() function; for "
2905
"those, row-based binary logging is automatically used. ")
2906
,(char**) &opt_binlog_format, (char**) &opt_binlog_format,
2907
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
2908
2888
{"binlog-do-db", OPT_BINLOG_DO_DB,
2909
2889
N_("Tells the master it should log updates for the specified database, and "
2910
2890
"exclude all others not explicitly mentioned."),
4269
4249
binlog_filter->add_ignore_db(argument);
4272
case OPT_BINLOG_FORMAT:
4275
id= find_type_or_exit(argument, &binlog_format_typelib, opt->name);
4276
global_system_variables.binlog_format= opt_binlog_format_id= id - 1;
4279
4252
case (int)OPT_BINLOG_DO_DB:
4281
4254
binlog_filter->add_do_db(argument);