List:Commits« Previous MessageNext Message »
From:Sven Sandberg Date:November 4 2010 1:44pm
Subject:Re: bzr commit into mysql-5.5 branch (mats.kindahl:3087) WL#5465
View as plain text  
Hi Mats,

Nice work, patch approved! You accidentally added the file
mysql-test/r/mysqld--help-win.result.orig though, please remove that.

/Sven


On 10/28/2010 05:42 PM, Mats Kindahl wrote:
> #At file:///home/bzr/mkindahl/w5465-5.5/ based on
> revid:joerg@stripped
>
>   3087 Mats Kindahl	2010-10-28
>        WL#5465: System variables: paths to relay log and binary log files
>
>        Adding new variables with paths to where the binary log files
>        and the relay log files are located. Three new global read-only
>        variables are added and one has changed contents.
>
>        log_bin_basename
>          This variable hold the full path and name used for the binary
>          logs: not including the extension of the files.
>
>        log_bin_index
>          This variable contain the full path to the binary log index
>          file.
>
>        relay_log_basename
>          This variable hold the full path and name used for the relay
>          logs: not including the extension of the files.
>
>        relay_log_index
>          This variable now contain the full path to the relay log
>          index file.  Previously, it just contained the value supplied
>          to mysqld option relay-log-index,  which was then used to
>          compute the path to the index file.
>       @ mysql-test/suite/binlog/t/binlog_variables_log_bin.test
>          Adding test to check values of log_bin% variables
>          when just --log-bin is used.
>       @ mysql-test/suite/binlog/t/binlog_variables_log_bin_index.test
>          Adding test to check values of log_bin% variables
>          when --log-bin and --log-bin-index is used.
>       @ mysql-test/suite/binlog/t/binlog_variables_relay_log.test
>          Adding test to check values of relay_log% variables
>          when just --relay-log is used.
>       @ mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test
>          Adding test to check values of relay_log% variables
>          when --relay-log and --relay-log-index is used.
>       @ mysql-test/suite/rpl/t/rpl_variables.test
>          Extending test to print value of replication file variables.
>       @ mysql-test/t/flush2.test
>          Extending test to also check relay_log* variables.
>       @ mysql-test/t/variables-notembedded.test
>          Adding check for relay_log_basename, log_bin_basename,
>          and log_bin_index.
>       @ sql/mysqld.cc
>          Exporting opt_binlog_index_name.
>       @ sql/slave.cc
>          Adding variables relay_log_index and
>          relay_log_basename for storing system
>          variable values.
>       @ sql/slave.h
>          Exporting variable storing the value of log_bin_index,
>          relay_log_basename, and relay_log_index.
>       @ sql/sys_vars.cc
>          Adding variables relay_log_basename, relay_log_index, log_bin_basename,
>          and log_bin_index as non-option variables.
>
>      added:
>        mysql-test/r/mysqld--help-win.result.orig
>        mysql-test/suite/binlog/r/binlog_variables_log_bin.result
>        mysql-test/suite/binlog/r/binlog_variables_log_bin_index.result
>        mysql-test/suite/binlog/r/binlog_variables_relay_log.result
>        mysql-test/suite/binlog/r/binlog_variables_relay_log_index.result
>        mysql-test/suite/binlog/t/binlog_variables_log_bin-master.opt
>        mysql-test/suite/binlog/t/binlog_variables_log_bin.test
>        mysql-test/suite/binlog/t/binlog_variables_log_bin_index-master.opt
>        mysql-test/suite/binlog/t/binlog_variables_log_bin_index.test
>        mysql-test/suite/binlog/t/binlog_variables_relay_log-master.opt
>        mysql-test/suite/binlog/t/binlog_variables_relay_log.test
>        mysql-test/suite/binlog/t/binlog_variables_relay_log_index-master.opt
>        mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test
>      modified:
>        mysql-test/r/flush2.result
>        mysql-test/r/mysqld--help-notwin.result
>        mysql-test/r/mysqld--help-win.result
>        mysql-test/r/variables-notembedded.result
>        mysql-test/suite/rpl/r/rpl_flushlog_loop.result
>        mysql-test/suite/rpl/r/rpl_variables.result
>        mysql-test/suite/rpl/t/rpl_variables.test
>        mysql-test/suite/sys_vars/r/all_vars.result
>        mysql-test/t/flush2.test
>        mysql-test/t/variables-notembedded.test
>        sql/log.cc
>        sql/log.h
>        sql/mysqld.cc
>        sql/slave.cc
>        sql/slave.h
>        sql/sys_vars.cc
> === modified file 'mysql-test/r/flush2.result'
> --- a/mysql-test/r/flush2.result	2009-11-04 12:28:20 +0000
> +++ b/mysql-test/r/flush2.result	2010-10-28 15:42:17 +0000
> @@ -3,10 +3,32 @@ set global expire_logs_days = 3;
>   show variables like 'log_bin%';
>   Variable_name	Value
>   log_bin	OFF
> +log_bin_basename	
> +log_bin_index	
>   log_bin_trust_function_creators	ON
> +show variables like 'relay_log%';
> +Variable_name	Value
> +relay_log	
> +relay_log_basename	
> +relay_log_index	
> +relay_log_info_file	relay-log.info
> +relay_log_purge	ON
> +relay_log_recovery	OFF
> +relay_log_space_limit	0
>   flush logs;
>   show variables like 'log_bin%';
>   Variable_name	Value
>   log_bin	OFF
> +log_bin_basename	
> +log_bin_index	
>   log_bin_trust_function_creators	ON
> +show variables like 'relay_log%';
> +Variable_name	Value
> +relay_log	
> +relay_log_basename	
> +relay_log_index	
> +relay_log_info_file	relay-log.info
> +relay_log_purge	ON
> +relay_log_recovery	OFF
> +relay_log_space_limit	0
>   set global expire_logs_days = 0;
>
> === modified file 'mysql-test/r/mysqld--help-notwin.result'
> --- a/mysql-test/r/mysqld--help-notwin.result	2010-08-30 14:07:40 +0000
> +++ b/mysql-test/r/mysqld--help-notwin.result	2010-10-28 15:42:17 +0000
> @@ -218,7 +218,7 @@ The following options may be given as th
>    server's hostname changes) argument should be the chosen
>    location for the binary log files.
>    --log-bin-index=name
> - File that holds the names for last binary log files.
> + File that holds the names for binary log files.
>    --log-bin-trust-function-creators
>    If set to FALSE (the default), then when --log-bin is
>    used, creation of a stored function (or trigger) is
> @@ -487,8 +487,7 @@ The following options may be given as th
>    are read through this buffer to avoid a disk seeks
>    --relay-log=name    The location and name to use for relay logs
>    --relay-log-index=name
> - The location and name to use for the file that keeps a
> - list of the last relay logs
> + File that holds the names for relay log files.
>    --relay-log-info-file=name
>    The location and name of the file that remembers where
>    the SQL replication thread is in the relay logs
>
> === modified file 'mysql-test/r/mysqld--help-win.result'
> --- a/mysql-test/r/mysqld--help-win.result	2010-08-30 14:07:40 +0000
> +++ b/mysql-test/r/mysqld--help-win.result	2010-10-28 15:42:17 +0000
> @@ -217,7 +217,7 @@ The following options may be given as th
>    server's hostname changes) argument should be the chosen
>    location for the binary log files.
>    --log-bin-index=name
> - File that holds the names for last binary log files.
> + File that holds the names for binary log files.
>    --log-bin-trust-function-creators
>    If set to FALSE (the default), then when --log-bin is
>    used, creation of a stored function (or trigger) is
> @@ -487,8 +487,7 @@ The following options may be given as th
>    are read through this buffer to avoid a disk seeks
>    --relay-log=name    The location and name to use for relay logs
>    --relay-log-index=name
> - The location and name to use for the file that keeps a
> - list of the last relay logs
> + File that holds the names for relay log files.
>    --relay-log-info-file=name
>    The location and name of the file that remembers where
>    the SQL replication thread is in the relay logs
>
> === added file 'mysql-test/r/mysqld--help-win.result.orig'
> --- a/mysql-test/r/mysqld--help-win.result.orig	1970-01-01 00:00:00 +0000
> +++ b/mysql-test/r/mysqld--help-win.result.orig	2010-10-28 15:42:17 +0000
> @@ -0,0 +1,951 @@
> +The following options may be given as the first argument:
> +--print-defaults Print the program argument list and exit.
> +--no-defaults Don't read default options from any option file.
> +--defaults-file=# Only read default options from the given file #.
> +--defaults-extra-file=# Read this file after the global files are read.
> +
> + --abort-slave-event-count=#
> + Option used by mysql-test for debugging and testing of
> + replication.
> + --allow-suspicious-udfs
> + Allows use of UDFs consisting of only one symbol xxx()
> + without corresponding xxx_init() or xxx_deinit(). That
> + also means that one can load any function from any
> + library, for example exit() from libc.so
> + -a, --ansi          Use ANSI SQL syntax instead of MySQL syntax. This mode
> + will also set transaction isolation level 'serializable'.
> + --auto-increment-increment[=#]
> + Auto-increment columns are incremented by this
> + --auto-increment-offset[=#]
> + Offset added to Auto-increment columns. Used when
> + auto-increment-increment != 1
> + --automatic-sp-privileges
> + Creating and dropping stored procedures alters ACLs
> + (Defaults to on; use --skip-automatic-sp-privileges to disable.)
> + --back-log=#        The number of outstanding connection requests MySQL can
> + have. This comes into play when the main MySQL thread
> + gets very many connection requests in a very short time
> + -b, --basedir=name  Path to installation directory. All paths are usually
> + resolved relative to this
> + --big-tables        Allow big result sets by saving all temporary sets on
> + file (Solves most 'table full' errors)
> + --bind-address=name IP address to bind to.
> + --binlog-cache-size=#
> + The size of the cache to hold the SQL statements for the
> + binary log during a transaction. If you often use big,
> + multi-statement transactions you can increase this to get
> + more performance
> + --binlog-direct-non-transactional-updates
> + Causes updates to non-transactional engines using
> + statement format to be written directly to binary log.
> + Before using this option make sure that there are no
> + dependencies between transactional and non-transactional
> + tables such as in the statement INSERT INTO t_myisam
> + SELECT * FROM t_innodb; otherwise, slaves may diverge
> + from the master.
> + --binlog-do-db=name Tells the master it should log updates for the specified
> + database, and exclude all others not explicitly
> + mentioned.
> + --binlog-format=name
> + What form of binary logging the master will use: either
> + ROW for row-based binary logging, STATEMENT for
> + statement-based binary logging, or MIXED. MIXED is
> + statement-based binary logging except for those
> + statements where only row-based is correct: those which
> + involve user-defined functions (i.e. UDFs) or the UUID()
> + function; for those, row-based binary logging is
> + automatically used. If NDBCLUSTER is enabled and
> + binlog-format is MIXED, the format switches to row-based
> + and back implicitly per each query accessing an
> + NDBCLUSTER table
> + --binlog-ignore-db=name
> + Tells the master that updates to the given database
> + should not be logged to the binary log.
> + --binlog-row-event-max-size=#
> + The maximum size of a row-based binary log event in
> + bytes. Rows will be grouped into events smaller than this
> + size if possible. The value has to be a multiple of 256.
> + --bootstrap         Used by mysql installation scripts.
> + --bulk-insert-buffer-size=#
> + Size of tree cache used in bulk insert optimisation. Note
> + that this is a limit per thread!
> + --character-set-client-handshake
> + Don't ignore client side character set value sent during
> + handshake.
> + (Defaults to on; use --skip-character-set-client-handshake to disable.)
> + --character-set-filesystem=name
> + Set the filesystem character set.
> + -C, --character-set-server=name
> + Set the default character set.
> + --character-sets-dir=name
> + Directory where character sets are
> + -r, --chroot=name   Chroot mysqld daemon during startup.
> + --collation-server=name
> + Set the default collation.
> + --completion-type=name
> + The transaction completion type, one of NO_CHAIN, CHAIN,
> + RELEASE
> + --concurrent-insert[=name]
> + Use concurrent insert with MyISAM. Possible values are
> + NEVER, AUTO, ALWAYS
> + --connect-timeout=# The number of seconds the mysqld server is waiting for a
> + connect packet before responding with 'Bad handshake'
> + --console           Write error output on screen; don't remove the console
> + window on windows.
> + --core-file         Write core on errors.
> + -h, --datadir=name  Path to the database root directory
> + --date-format=name  The DATE format (ignored)
> + --datetime-format=name
> + The DATETIME format (ignored)
> + --default-storage-engine=name
> + The default storage engine for new tables
> + --default-time-zone=name
> + Set the default time zone.
> + --default-week-format=#
> + The default week format used by WEEK() functions
> + --delay-key-write[=name]
> + Type of DELAY_KEY_WRITE
> + --delayed-insert-limit=#
> + After inserting delayed_insert_limit rows, the INSERT
> + DELAYED handler will check if there are any SELECT
> + statements pending. If so, it allows these to execute
> + before continuing
> + --delayed-insert-timeout=#
> + How long a INSERT DELAYED thread should wait for INSERT
> + statements before terminating
> + --delayed-queue-size=#
> + What size queue (in rows) should be allocated for
> + handling INSERT DELAYED. If the queue becomes full, any
> + client that does INSERT DELAYED will wait until there is
> + room in the queue again
> + --disconnect-slave-event-count=#
> + Option used by mysql-test for debugging and testing of
> + replication.
> + --div-precision-increment=#
> + Precision of the result of '/' operator will be increased
> + on that value
> + --engine-condition-pushdown
> + Push supported query conditions to the storage engine.
> + Deprecated, use --optimizer-switch instead.
> + (Defaults to on; use --skip-engine-condition-pushdown to disable.)
> + --event-scheduler[=name]
> + Enable the event scheduler. Possible values are ON, OFF,
> + and DISABLED (keep the event scheduler completely
> + deactivated, it cannot be activated run-time)
> + -T, --exit-info[=#] Used for debugging. Use at your own risk.
> + --expire-logs-days=#
> + If non-zero, binary logs will be purged after
> + expire_logs_days days; possible purges happen at startup
> + and at binary log rotation
> + --external-locking  Use system (external) locking (disabled by default).
> + With this option enabled you can run myisamchk to test
> + (not repair) tables while the MySQL server is running.
> + Disable with --skip-external-locking.
> + --flush             Flush MyISAM tables to disk between SQL commands
> + --flush-time=#      A dedicated thread is created to flush all tables at the
> + given interval
> + --ft-boolean-syntax=name
> + List of operators for MATCH ... AGAINST ( ... IN BOOLEAN
> + MODE)
> + --ft-max-word-len=# The maximum length of the word to be included in a
> + FULLTEXT index. Note: FULLTEXT indexes must be rebuilt
> + after changing this variable
> + --ft-min-word-len=# The minimum length of the word to be included in a
> + FULLTEXT index. Note: FULLTEXT indexes must be rebuilt
> + after changing this variable
> + --ft-query-expansion-limit=#
> + Number of best matches to use for query expansion
> + --ft-stopword-file=name
> + Use stopwords from this file instead of built-in list
> + --gdb               Set up signals usable for debugging.
> + --general-log       Log connections and queries to a table or log file.
> + Defaults logging to a file hostname.log or a table
> + mysql.general_logif --log-output=TABLE is used
> + --general-log-file=name
> + Log connections and queries to given file
> + --group-concat-max-len=#
> + The maximum length of the result of function
> + GROUP_CONCAT()
> + -?, --help          Display this help and exit.
> + --ignore-builtin-innodb
> + Disable initialization of builtin InnoDB plugin
> + --init-connect=name Command(s) that are executed for each new connection
> + --init-file=name    Read SQL commands from this file at startup
> + --init-rpl-role=name
> + Set the replication role.
> + --init-slave=name   Command(s) that are executed by a slave server each time
> + the SQL thread starts
> + --interactive-timeout=#
> + The number of seconds the server waits for activity on an
> + interactive connection before closing it
> + --join-buffer-size=#
> + The size of the buffer that is used for full joins
> + --keep-files-on-create
> + Don't overwrite stale .MYD and .MYI even if no directory
> + is specified
> + --key-buffer-size=# The size of the buffer used for index blocks for MyISAM
> + tables. Increase this to get better index handling (for
> + all reads and multiple writes) to as much as you can
> + afford
> + --key-cache-age-threshold=#
> + This characterizes the number of hits a hot block has to
> + be untouched until it is considered aged enough to be
> + downgraded to a warm block. This specifies the percentage
> + ratio of that number of hits to the total number of
> + blocks in key cache
> + --key-cache-block-size=#
> + The default size of key cache blocks
> + --key-cache-division-limit=#
> + The minimum percentage of warm blocks in key cache
> + -L, --language=name Client error messages in given language. May be given as
> + a full path. Deprecated. Use --lc-messages-dir instead.
> + --lc-messages=name  Set the language used for the error messages.
> + -L, --lc-messages-dir=name
> + Directory where error messages are
> + --lc-time-names=name
> + Set the language used for the month names and the days of
> + the week.
> + --local-infile      Enable LOAD DATA LOCAL INFILE
> + (Defaults to on; use --skip-local-infile to disable.)
> + --lock-wait-timeout=#
> + Timeout in seconds to wait for a lock before returning an
> + error.
> + -l, --log[=name]    Log connections and queries to file (deprecated option,
> + use --general-log/--general-log-file instead).
> + --log-bin[=name]    Log update queries in binary format. Optional (but
> + strongly recommended to avoid replication problems if
> + server's hostname changes) argument should be the chosen
> + location for the binary log files.
> + --log-bin-index=name
> + File that holds the names for last binary log files.
> + --log-bin-trust-function-creators
> + If set to FALSE (the default), then when --log-bin is
> + used, creation of a stored function (or trigger) is
> + allowed only to users having the SUPER privilege and only
> + if this stored function (trigger) may not break binary
> + logging. Note that if ALL connections to this server
> + ALWAYS use row-based binary logging, the security issues
> + do not exist and the binary logging cannot break, so you
> + can safely set this to TRUE
> + --log-error[=name]  Error log file
> + --log-isam[=name]   Log all MyISAM changes to file.
> + --log-output=name   Syntax: log-output=value[,value...], where "value" could
> + be TABLE, FILE or NONE
> + --log-queries-not-using-indexes
> + Log queries that are executed without benefit of any
> + index to the slow log if it is open
> + --log-short-format  Don't log extra information to update and slow-query
> + logs.
> + --log-slave-updates Tells the slave to log the updates from the slave thread
> + to the binary log. You will need to turn it on if you
> + plan to daisy-chain the slaves
> + --log-slow-admin-statements
> + Log slow OPTIMIZE, ANALYZE, ALTER and other
> + administrative statements to the slow log if it is open.
> + --log-slow-queries[=name]
> + Log slow queries to a table or log file. Defaults logging
> + to table mysql.slow_log or hostname-slow.log if
> + --log-output=file is used. Must be enabled to activate
> + other slow log options. Deprecated option, use
> + --slow-query-log/--slow-query-log-file instead.
> + --log-slow-slave-statements
> + Log slow statements executed by slave thread to the slow
> + log if it is open.
> + --log-tc=name       Path to transaction coordinator log (used for
> + transactions that affect more than one storage engine,
> + when binary log is disabled).
> + --log-tc-size=#     Size of transaction coordinator log.
> + -W, --log-warnings[=#]
> + Log some not critical warnings to the log file
> + --long-query-time=# Log all queries that have taken more than long_query_time
> + seconds to execute to file. The argument will be treated
> + as a decimal value with microsecond precision
> + --low-priority-updates
> + INSERT/DELETE/UPDATE has lower priority than selects
> + --lower-case-table-names[=#]
> + If set to 1 table names are stored in lowercase on disk
> + and table names will be case-insensitive.  Should be set
> + to 2 if you are using a case insensitive file system
> + --master-info-file=name
> + The location and name of the file that remembers the
> + master and where the I/O replication thread is in the
> + master's binlogs.
> + --master-retry-count=#
> + The number of tries the slave will make to connect to the
> + master before giving up.
> + --max-allowed-packet=#
> + Max packet length to send to or receive from the server
> + --max-binlog-cache-size=#
> + Can be used to restrict the total size used to cache a
> + multi-transaction query
> + --max-binlog-dump-events=#
> + Option used by mysql-test for debugging and testing of
> + replication.
> + --max-binlog-size=# Binary log will be rotated automatically when the size
> + exceeds this value. Will also apply to relay logs if
> + max_relay_log_size is 0
> + --max-connect-errors=#
> + If there is more than this number of interrupted
> + connections from a host this host will be blocked from
> + further connections
> + --max-connections=# The number of simultaneous clients allowed
> + --max-delayed-threads=#
> + Don't start more than this number of threads to handle
> + INSERT DELAYED statements. If set to zero INSERT DELAYED
> + will be not used
> + --max-error-count=# Max number of errors/warnings to store for a statement
> + --max-heap-table-size=#
> + Don't allow creation of heap tables bigger than this
> + --max-join-size=#   Joins that are probably going to read more than
> + max_join_size records return an error
> + --max-length-for-sort-data=#
> + Max number of bytes in sorted records
> + --max-prepared-stmt-count=#
> + Maximum number of prepared statements in the server
> + --max-relay-log-size=#
> + If non-zero: relay log will be rotated automatically when
> + the size exceeds this value; if zero: when the size
> + exceeds max_binlog_size
> + --max-seeks-for-key=#
> + Limit assumed max number of seeks when looking up rows
> + based on a key
> + --max-sort-length=# The number of bytes to use when sorting BLOB or TEXT
> + values (only the first max_sort_length bytes of each
> + value are used; the rest are ignored)
> + --max-sp-recursion-depth[=#]
> + Maximum stored procedure recursion depth
> + --max-tmp-tables=#  Maximum number of temporary tables a client can keep open
> + at a time
> + --max-user-connections=#
> + The maximum number of active connections for a single
> + user (0 = no limit)
> + --max-write-lock-count=#
> + After this many write locks, allow some read locks to run
> + in between
> + --memlock           Lock mysqld in memory.
> + --min-examined-row-limit=#
> + Don't write queries to slow log that examine fewer rows
> + than that
> + --multi-range-count=#
> + Number of key ranges to request at once
> + --myisam-block-size=#
> + Block size to be used for MyISAM index pages
> + --myisam-data-pointer-size=#
> + Default pointer size to be used for MyISAM tables
> + --myisam-max-sort-file-size=#
> + Don't use the fast sort index method to created index if
> + the temporary file would get bigger than this
> + --myisam-mmap-size=#
> + Restricts the total memory used for memory mapping of
> + MySQL tables
> + --myisam-recover-options[=name]
> + Syntax: myisam-recover-options[=option[,option...]],
> + where option can be DEFAULT, BACKUP, FORCE, QUICK, or OFF
> + --myisam-repair-threads=#
> + If larger than 1, when repairing a MyISAM table all
> + indexes will be created in parallel, with one thread per
> + index. The value of 1 disables parallel repair
> + --myisam-sort-buffer-size=#
> + The buffer that is allocated when sorting the index when
> + doing a REPAIR or when creating indexes with CREATE INDEX
> + or ALTER TABLE
> + --myisam-stats-method=name
> + Specifies how MyISAM index statistics collection code
> + should treat NULLs. Possible values of name are
> + NULLS_UNEQUAL (default behavior for 4.1 and later),
> + NULLS_EQUAL (emulate 4.0 behavior), and NULLS_IGNORED
> + --myisam-use-mmap   Use memory mapping for reading and writing MyISAM tables
> + --named-pipe        Enable the named pipe (NT)
> + --net-buffer-length=#
> + Buffer length for TCP/IP and socket communication
> + --net-read-timeout=#
> + Number of seconds to wait for more data from a connection
> + before aborting the read
> + --net-retry-count=# If a read on a communication port is interrupted, retry
> + this many times before giving up
> + --net-write-timeout=#
> + Number of seconds to wait for a block to be written to a
> + connection before aborting the write
> + -n, --new           Use very new possible "unsafe" functions
> + --old               Use compatible behavior
> + --old-alter-table   Use old, non-optimized alter table
> + --old-passwords     Use old password encryption method (needed for 4.0 and
> + older clients)
> + --old-style-user-limits
> + Enable old-style user limits (before 5.0.3, user
> + resources were counted per each user+host vs. per
> + account).
> + --one-thread        (Deprecated): Only use one thread (for debugging under
> + Linux). Use thread-handling=no-threads instead.
> + --open-files-limit=#
> + If this is not 0, then mysqld will use this value to
> + reserve file descriptors to use with setrlimit(). If this
> + value is 0 then mysqld will reserve max_connections*5 or
> + max_connections + table_cache*2 (whichever is larger)
> + number of file descriptors
> + --optimizer-prune-level=#
> + Controls the heuristic(s) applied during query
> + optimization to prune less-promising partial plans from
> + the optimizer search space. Meaning: 0 - do not apply any
> + heuristic, thus perform exhaustive search; 1 - prune
> + plans based on number of retrieved rows
> + --optimizer-search-depth=#
> + Maximum depth of search performed by the query optimizer.
> + Values larger than the number of relations in a query
> + result in better query plans, but take longer to compile
> + a query. Values smaller than the number of tables in a
> + relation result in faster optimization, but may produce
> + very bad query plans. If set to 0, the system will
> + automatically pick a reasonable value; if set to 63, the
> + optimizer will switch to the original find_best search.
> + NOTE: The value 63 and its associated behaviour is
> + deprecated
> + --optimizer-switch=name
> + optimizer_switch=option=val[,option=val...], where option
> + is one of {index_merge, index_merge_union,
> + index_merge_sort_union, index_merge_intersection,
> + engine_condition_pushdown} and val is one of {on, off,
> + default}
> + --performance-schema
> + Enable the performance schema.
> + --performance-schema-events-waits-history-long-size=#
> + Number of rows in EVENTS_WAITS_HISTORY_LONG.
> + --performance-schema-events-waits-history-size=#
> + Number of rows per thread in EVENTS_WAITS_HISTORY.
> + --performance-schema-max-cond-classes=#
> + Maximum number of condition instruments.
> + --performance-schema-max-cond-instances=#
> + Maximum number of instrumented condition objects.
> + --performance-schema-max-file-classes=#
> + Maximum number of file instruments.
> + --performance-schema-max-file-handles=#
> + Maximum number of opened instrumented files.
> + --performance-schema-max-file-instances=#
> + Maximum number of instrumented files.
> + --performance-schema-max-mutex-classes=#
> + Maximum number of mutex instruments.
> + --performance-schema-max-mutex-instances=#
> + Maximum number of instrumented MUTEX objects.
> + --performance-schema-max-rwlock-classes=#
> + Maximum number of rwlock instruments.
> + --performance-schema-max-rwlock-instances=#
> + Maximum number of instrumented RWLOCK objects.
> + --performance-schema-max-table-handles=#
> + Maximum number of opened instrumented tables.
> + --performance-schema-max-table-instances=#
> + Maximum number of instrumented tables.
> + --performance-schema-max-thread-classes=#
> + Maximum number of thread instruments.
> + --performance-schema-max-thread-instances=#
> + Maximum number of instrumented threads.
> + --pid-file=name     Pid file used by safe_mysqld
> + --plugin-dir=name   Directory for plugins
> + --plugin-load=name  Optional semicolon-separated list of plugins to load,
> + where each plugin is identified as name=library, where
> + name is the plugin name and library is the plugin library
> + in plugin_dir.
> + -P, --port=#        Port number to use for connection or 0 to default to,
> + my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default
> + (3306), whatever comes first
> + --port-open-timeout=#
> + Maximum time in seconds to wait for the port to become
> + free. (Default: No wait).
> + --preload-buffer-size=#
> + The size of the buffer that is allocated when preloading
> + indexes
> + --profiling-history-size=#
> + Limit of query profiling memory
> + --query-alloc-block-size=#
> + Allocation block size for query parsing and execution
> + --query-cache-limit=#
> + Don't cache results that are bigger than this
> + --query-cache-min-res-unit=#
> + The minimum size for blocks allocated by the query cache
> + --query-cache-size=#
> + The memory allocated to store results from old queries
> + --query-cache-type=name
> + OFF = Don't cache or retrieve results. ON = Cache all
> + results except SELECT SQL_NO_CACHE ... queries. DEMAND =
> + Cache only SELECT SQL_CACHE ... queries
> + --query-cache-wlock-invalidate
> + Invalidate queries in query cache on LOCK for write
> + --query-prealloc-size=#
> + Persistent buffer for query parsing and execution
> + --range-alloc-block-size=#
> + Allocation block size for storing ranges during
> + optimization
> + --read-buffer-size=#
> + Each thread that does a sequential scan allocates a
> + buffer of this size for each table it scans. If you do
> + many sequential scans, you may want to increase this
> + value
> + --read-only         Make all non-temporary tables read-only, with the
> + exception for replication (slave) threads and users with
> + the SUPER privilege
> + --read-rnd-buffer-size=#
> + When reading rows in sorted order after a sort, the rows
> + are read through this buffer to avoid a disk seeks
> + --relay-log=name    The location and name to use for relay logs
> + --relay-log-index=name
> + The location and name to use for the file that keeps a
> + list of the last relay logs
> + --relay-log-info-file=name
> + The location and name of the file that remembers where
> + the SQL replication thread is in the relay logs
> + --relay-log-purge   if disabled - do not purge relay logs. if enabled - purge
> + them as soon as they are no more needed
> + (Defaults to on; use --skip-relay-log-purge to disable.)
> + --relay-log-recovery
> + Enables automatic relay log recovery right after the
> + database startup, which means that the IO Thread starts
> + re-fetching from the master right after the last
> + transaction processed
> + --relay-log-space-limit=#
> + Maximum space to use for all relay logs
> + --replicate-do-db=name
> + Tells the slave thread to restrict replication to the
> + specified database. To specify more than one database,
> + use the directive multiple times, once for each database.
> + Note that this will only work if you do not use
> + cross-database queries such as UPDATE some_db.some_table
> + SET foo='bar' while having selected a different or no
> + database. If you need cross database updates to work,
> + make sure you have 3.23.28 or later, and use
> + replicate-wild-do-table=db_name.%.
> + --replicate-do-table=name
> + Tells the slave thread to restrict replication to the
> + specified table. To specify more than one table, use the
> + directive multiple times, once for each table. This will
> + work for cross-database updates, in contrast to
> + replicate-do-db.
> + --replicate-ignore-db=name
> + Tells the slave thread to not replicate to the specified
> + database. To specify more than one database to ignore,
> + use the directive multiple times, once for each database.
> + This option will not work if you use cross database
> + updates. If you need cross database updates to work, make
> + sure you have 3.23.28 or later, and use
> + replicate-wild-ignore-table=db_name.%.
> + --replicate-ignore-table=name
> + Tells the slave thread to not replicate to the specified
> + table. To specify more than one table to ignore, use the
> + directive multiple times, once for each table. This will
> + work for cross-database updates, in contrast to
> + replicate-ignore-db.
> + --replicate-rewrite-db=name
> + Updates to a database with a different name than the
> + original. Example:
> + replicate-rewrite-db=master_db_name->slave_db_name.
> + --replicate-same-server-id
> + In replication, if set to 1, do not skip events having
> + our server id. Default value is 0 (to break infinite
> + loops in circular replication). Can't be set to 1 if
> + --log-slave-updates is used.
> + --replicate-wild-do-table=name
> + Tells the slave thread to restrict replication to the
> + tables that match the specified wildcard pattern. To
> + specify more than one table, use the directive multiple
> + times, once for each table. This will work for
> + cross-database updates. Example:
> + replicate-wild-do-table=foo%.bar% will replicate only
> + updates to tables in all databases that start with foo
> + and whose table names start with bar.
> + --replicate-wild-ignore-table=name
> + Tells the slave thread to not replicate to the tables
> + that match the given wildcard pattern. To specify more
> + than one table to ignore, use the directive multiple
> + times, once for each table. This will work for
> + cross-database updates. Example:
> + replicate-wild-ignore-table=foo%.bar% will not do updates
> + to tables in databases that start with foo and whose
> + table names start with bar.
> + --report-host=name  Hostname or IP of the slave to be reported to the master
> + during slave registration. Will appear in the output of
> + SHOW SLAVE HOSTS. Leave unset if you do not want the
> + slave to register itself with the master. Note that it is
> + not sufficient for the master to simply read the IP of
> + the slave off the socket once the slave connects. Due to
> + NAT and other routing issues, that IP may not be valid
> + for connecting to the slave from the master or other
> + hosts
> + --report-password=name
> + The account password of the slave to be reported to the
> + master during slave registration
> + --report-port=#     Port for connecting to slave reported to the master
> + during slave registration. Set it only if the slave is
> + listening on a non-default port or if you have a special
> + tunnel from the master or other clients to the slave. If
> + not sure, leave this option unset
> + --report-user=name  The account user name of the slave to be reported to the
> + master during slave registration
> + --rpl-recovery-rank=#
> + Unused, will be removed
> + --safe-mode         Skip some optimize stages (for testing).
> + --safe-user-create  Don't allow new user creation by the user who has no
> + write privileges to the mysql.user table.
> + --secure-auth       Disallow authentication for accounts that have old
> + (pre-4.1) passwords
> + --secure-file-priv=name
> + Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to
> + files within specified directory
> + --server-id=#       Uniquely identifies the server instance in the community
> + of replication partners
> + --shared-memory     Enable the shared memory
> + --shared-memory-base-name=name
> + Base name of shared memory
> + --show-slave-auth-info
> + Show user and password in SHOW SLAVE HOSTS on this
> + master.
> + --skip-grant-tables Start without grant tables. This gives all users FULL
> + ACCESS to all tables.
> + --skip-host-cache   Don't cache host names.
> + --skip-name-resolve Don't resolve hostnames. All hostnames are IP's or
> + 'localhost'.
> + --skip-networking   Don't allow connection with TCP/IP
> + --skip-new          Don't use new, possibly wrong routines.
> + --skip-show-database
> + Don't allow 'SHOW DATABASE' commands
> + --skip-slave-start  If set, slave is not autostarted.
> + --skip-stack-trace  Don't print a stack trace on failure.
> + --skip-thread-priority
> + Don't give threads different priorities. This option is
> + deprecated because it has no effect; the implied behavior
> + is already the default.
> + --slave-compressed-protocol
> + Use compression on master/slave protocol
> + --slave-exec-mode=name
> + Modes for how replication events should be executed.
> + Legal values are STRICT (default) and IDEMPOTENT. In
> + IDEMPOTENT mode, replication will not stop for operations
> + that are idempotent. In STRICT mode, replication will
> + stop on any unexpected difference between the master and
> + the slave
> + --slave-load-tmpdir=name
> + The location where the slave should put its temporary
> + files when replicating a LOAD DATA INFILE command
> + --slave-net-timeout=#
> + Number of seconds to wait for more data from a
> + master/slave connection before aborting the read
> + --slave-skip-errors=name
> + Tells the slave thread to continue replication when a
> + query event returns an error from the provided list
> + --slave-transaction-retries=#
> + Number of times the slave SQL thread will retry a
> + transaction in case it failed with a deadlock or elapsed
> + lock wait timeout, before giving up and stopping
> + --slave-type-conversions=name
> + Set of slave type conversions that are enabled. Legal
> + values are: ALL_LOSSY to enable lossy conversions and
> + ALL_NON_LOSSY to enable non-lossy conversions. If the
> + variable is assigned the empty set, no conversions are
> + allowed and it is expected that the types match exactly.
> + --slow-launch-time=#
> + If creating the thread takes longer than this value (in
> + seconds), the Slow_launch_threads counter will be
> + incremented
> + --slow-query-log    Log slow queries to a table or log file. Defaults logging
> + to a file hostname-slow.log or a table mysql.slow_log if
> + --log-output=TABLE is used. Must be enabled to activate
> + other slow log options
> + --slow-query-log-file=name
> + Log slow queries to given log file. Defaults logging to
> + hostname-slow.log. Must be enabled to activate other slow
> + log options
> + --socket=name       Socket file to use for connection
> + --sort-buffer-size=#
> + Each thread that needs to do a sort allocates a buffer of
> + this size
> + --sporadic-binlog-dump-fail
> + Option used by mysql-test for debugging and testing of
> + replication.
> + --sql-mode=name     Syntax: sql-mode=mode[,mode[,mode...]]. See the manual
> + for the complete list of valid sql modes
> + --standalone        Dummy option to start as a standalone program (NT).
> + -s, --symbolic-links
> + Enable symbolic link support.
> + --sync-binlog=#     Synchronously flush binary log to disk after every #th
> + event. Use 0 (default) to disable synchronous flushing
> + --sync-frm          Sync .frm files to disk on creation
> + (Defaults to on; use --skip-sync-frm to disable.)
> + --sync-master-info=#
> + Synchronously flush master info to disk after every #th
> + event. Use 0 (default) to disable synchronous flushing
> + --sync-relay-log=#  Synchronously flush relay log to disk after every #th
> + event. Use 0 (default) to disable synchronous flushing
> + --sync-relay-log-info=#
> + Synchronously flush relay log info to disk after every
> + #th transaction. Use 0 (default) to disable synchronous
> + flushing
> + --sysdate-is-now    Non-default option to alias SYSDATE() to NOW() to make it
> + safe-replicable. Since 5.0, SYSDATE() returns a `dynamic'
> + value different for different invocations, even within
> + the same statement.
> + --table-cache=#     Deprecated; use --table-open-cache instead.
> + --table-definition-cache=#
> + The number of cached table definitions
> + --table-open-cache=#
> + The number of cached open tables
> + --tc-heuristic-recover=name
> + Decision to use in heuristic recover process. Possible
> + values are COMMIT or ROLLBACK.
> + --thread-cache-size=#
> + How many threads we should keep in a cache for reuse
> + --thread-handling=name
> + Define threads usage for handling queries, one of
> + one-thread-per-connection, no-threads, loaded-dynamically
> + --thread-stack=#    The stack size for each thread
> + --time-format=name  The TIME format (ignored)
> + --timed-mutexes     Specify whether to time mutexes (only InnoDB mutexes are
> + currently supported)
> + --tmp-table-size=#  If an internal in-memory temporary table exceeds this
> + size, MySQL will automatically convert it to an on-disk
> + MyISAM table
> + -t, --tmpdir=name   Path for temporary files. Several paths may be specified,
> + separated by a semicolon (;), in this case they are used
> + in a round-robin fashion
> + --transaction-alloc-block-size=#
> + Allocation block size for transactions to be stored in
> + binary log
> + --transaction-isolation=name
> + Default transaction isolation level.
> + --transaction-prealloc-size=#
> + Persistent buffer for transactions to be stored in binary
> + log
> + --updatable-views-with-limit=name
> + YES = Don't issue an error message (warning only) if a
> + VIEW without presence of a key of the underlying table is
> + used in queries with a LIMIT clause for updating. NO =
> + Prohibit update of a VIEW, which does not contain a key
> + of the underlying table and the query uses a LIMIT clause
> + (usually get from GUI tools)
> + -u, --user=name     Run mysqld daemon as user.
> + -v, --verbose       Used with --help option for detailed help.
> + -V, --version       Output version information and exit.
> + --wait-timeout=#    The number of seconds the server waits for activity on a
> + connection before closing it
> +
> +Variables (--variable-name=value)
> +abort-slave-event-count 0
> +allow-suspicious-udfs FALSE
> +auto-increment-increment 1
> +auto-increment-offset 1
> +automatic-sp-privileges TRUE
> +back-log 50
> +big-tables FALSE
> +bind-address (No default value)
> +binlog-cache-size 32768
> +binlog-direct-non-transactional-updates FALSE
> +binlog-format STATEMENT
> +binlog-row-event-max-size 1024
> +bulk-insert-buffer-size 8388608
> +character-set-client-handshake TRUE
> +character-set-filesystem binary
> +character-set-server latin1
> +character-sets-dir MYSQL_CHARSETSDIR/
> +chroot (No default value)
> +collation-server latin1_swedish_ci
> +completion-type NO_CHAIN
> +concurrent-insert AUTO
> +connect-timeout 10
> +console FALSE
> +date-format %Y-%m-%d
> +datetime-format %Y-%m-%d %H:%i:%s
> +default-storage-engine InnoDB
> +default-time-zone (No default value)
> +default-week-format 0
> +delay-key-write ON
> +delayed-insert-limit 100
> +delayed-insert-timeout 300
> +delayed-queue-size 1000
> +disconnect-slave-event-count 0
> +div-precision-increment 4
> +engine-condition-pushdown TRUE
> +event-scheduler OFF
> +expire-logs-days 0
> +external-locking FALSE
> +flush FALSE
> +flush-time 1800
> +ft-boolean-syntax + -><()~*:""&|
> +ft-max-word-len 84
> +ft-min-word-len 4
> +ft-query-expansion-limit 20
> +ft-stopword-file (No default value)
> +gdb FALSE
> +general-log FALSE
> +group-concat-max-len 1024
> +help TRUE
> +ignore-builtin-innodb FALSE
> +init-connect
> +init-file (No default value)
> +init-rpl-role MASTER
> +init-slave
> +interactive-timeout 28800
> +join-buffer-size 131072
> +keep-files-on-create FALSE
> +key-buffer-size 8388608
> +key-cache-age-threshold 300
> +key-cache-block-size 1024
> +key-cache-division-limit 100
> +language MYSQL_SHAREDIR/
> +lc-messages en_US
> +lc-messages-dir MYSQL_SHAREDIR/
> +lc-time-names en_US
> +local-infile TRUE
> +lock-wait-timeout 31536000
> +log-bin (No default value)
> +log-bin-index (No default value)
> +log-bin-trust-function-creators FALSE
> +log-error
> +log-isam myisam.log
> +log-output FILE
> +log-queries-not-using-indexes FALSE
> +log-short-format FALSE
> +log-slave-updates FALSE
> +log-slow-admin-statements FALSE
> +log-slow-slave-statements FALSE
> +log-tc tc.log
> +log-tc-size 24576
> +log-warnings 1
> +long-query-time 10
> +low-priority-updates FALSE
> +lower-case-table-names 1
> +master-info-file master.info
> +master-retry-count 86400
> +max-allowed-packet 1048576
> +max-binlog-cache-size 18446744073709547520
> +max-binlog-dump-events 0
> +max-binlog-size 1073741824
> +max-connect-errors 10
> +max-connections 151
> +max-delayed-threads 20
> +max-error-count 64
> +max-heap-table-size 16777216
> +max-join-size 18446744073709551615
> +max-length-for-sort-data 1024
> +max-prepared-stmt-count 16382
> +max-relay-log-size 0
> +max-seeks-for-key 18446744073709551615
> +max-sort-length 1024
> +max-sp-recursion-depth 0
> +max-tmp-tables 32
> +max-user-connections 0
> +max-write-lock-count 18446744073709551615
> +memlock FALSE
> +min-examined-row-limit 0
> +multi-range-count 256
> +myisam-block-size 1024
> +myisam-data-pointer-size 6
> +myisam-max-sort-file-size 9223372036853727232
> +myisam-mmap-size 18446744073709551615
> +myisam-recover-options OFF
> +myisam-repair-threads 1
> +myisam-sort-buffer-size 8388608
> +myisam-stats-method nulls_unequal
> +myisam-use-mmap FALSE
> +named-pipe FALSE
> +net-buffer-length 16384
> +net-read-timeout 30
> +net-retry-count 10
> +net-write-timeout 60
> +new FALSE
> +old FALSE
> +old-alter-table FALSE
> +old-passwords FALSE
> +old-style-user-limits FALSE
> +optimizer-prune-level 1
> +optimizer-search-depth 62
> +optimizer-switch
> index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on
> +performance-schema FALSE
> +performance-schema-events-waits-history-long-size 10000
> +performance-schema-events-waits-history-size 10
> +performance-schema-max-cond-classes 80
> +performance-schema-max-cond-instances 1000
> +performance-schema-max-file-classes 50
> +performance-schema-max-file-handles 32768
> +performance-schema-max-file-instances 10000
> +performance-schema-max-mutex-classes 200
> +performance-schema-max-mutex-instances 1000000
> +performance-schema-max-rwlock-classes 30
> +performance-schema-max-rwlock-instances 1000000
> +performance-schema-max-table-handles 100000
> +performance-schema-max-table-instances 50000
> +performance-schema-max-thread-classes 50
> +performance-schema-max-thread-instances 1000
> +plugin-load (No default value)
> +port 3306
> +port-open-timeout 0
> +preload-buffer-size 32768
> +profiling-history-size 15
> +query-alloc-block-size 8192
> +query-cache-limit 1048576
> +query-cache-min-res-unit 4096
> +query-cache-size 0
> +query-cache-type ON
> +query-cache-wlock-invalidate FALSE
> +query-prealloc-size 8192
> +range-alloc-block-size 4096
> +read-buffer-size 131072
> +read-only FALSE
> +read-rnd-buffer-size 262144
> +relay-log (No default value)
> +relay-log-index (No default value)
> +relay-log-info-file relay-log.info
> +relay-log-purge TRUE
> +relay-log-recovery FALSE
> +relay-log-space-limit 0
> +replicate-same-server-id FALSE
> +report-host (No default value)
> +report-password (No default value)
> +report-port 3306
> +report-user (No default value)
> +rpl-recovery-rank 0
> +safe-user-create FALSE
> +secure-auth FALSE
> +secure-file-priv (No default value)
> +server-id 0
> +shared-memory FALSE
> +shared-memory-base-name MYSQL
> +show-slave-auth-info FALSE
> +skip-grant-tables TRUE
> +skip-name-resolve FALSE
> +skip-networking FALSE
> +skip-show-database FALSE
> +skip-slave-start FALSE
> +slave-compressed-protocol FALSE
> +slave-exec-mode STRICT
> +slave-net-timeout 3600
> +slave-skip-errors (No default value)
> +slave-transaction-retries 10
> +slave-type-conversions
> +slow-launch-time 2
> +slow-query-log FALSE
> +socket MySQL
> +sort-buffer-size 2097152
> +sporadic-binlog-dump-fail FALSE
> +sql-mode
> +symbolic-links FALSE
> +sync-binlog 0
> +sync-frm TRUE
> +sync-master-info 0
> +sync-relay-log 0
> +sync-relay-log-info 0
> +sysdate-is-now FALSE
> +table-cache 400
> +table-definition-cache 400
> +table-open-cache 400
> +tc-heuristic-recover COMMIT
> +thread-cache-size 0
> +thread-handling one-thread-per-connection
> +thread-stack 262144
> +time-format %H:%i:%s
> +timed-mutexes FALSE
> +tmp-table-size 16777216
> +transaction-alloc-block-size 8192
> +transaction-isolation REPEATABLE-READ
> +transaction-prealloc-size 4096
> +updatable-views-with-limit YES
> +verbose TRUE
> +wait-timeout 28800
> +
> +To see what values a running MySQL server is using, type
> +'mysqladmin variables' instead of 'mysqld --verbose --help'.
>
> === modified file 'mysql-test/r/variables-notembedded.result'
> --- a/mysql-test/r/variables-notembedded.result	2009-04-06 11:42:33 +0000
> +++ b/mysql-test/r/variables-notembedded.result	2010-10-28 15:42:17 +0000
> @@ -44,6 +44,32 @@ ERROR HY000: Variable 'relay_log' is a r
>   SET @@global.relay_log= 'x';
>   ERROR HY000: Variable 'relay_log' is a read only variable
>   #
> +SHOW VARIABLES like 'relay_log_basename';
> +Variable_name	Value
> +relay_log_basename	
> +SELECT @@session.relay_log_basename;
> +ERROR HY000: Variable 'relay_log_basename' is a GLOBAL variable
> +SELECT @@global.relay_log_basename;
> +@@global.relay_log_basename
> +NULL
> +SET @@session.relay_log_basename= 'x';
> +ERROR HY000: Variable 'relay_log_basename' is a read only variable
> +SET @@global.relay_log_basename= 'x';
> +ERROR HY000: Variable 'relay_log_basename' is a read only variable
> +#
> +SHOW VARIABLES like 'log_bin_basename';
> +Variable_name	Value
> +log_bin_basename	
> +SELECT @@session.log_bin_basename;
> +ERROR HY000: Variable 'log_bin_basename' is a GLOBAL variable
> +SELECT @@global.log_bin_basename;
> +@@global.log_bin_basename
> +NULL
> +SET @@session.log_bin_basename= 'x';
> +ERROR HY000: Variable 'log_bin_basename' is a read only variable
> +SET @@global.log_bin_basename= 'x';
> +ERROR HY000: Variable 'log_bin_basename' is a read only variable
> +#
>   SHOW VARIABLES like 'relay_log_index';
>   Variable_name	Value
>   relay_log_index	
> @@ -57,6 +83,19 @@ ERROR HY000: Variable 'relay_log_index'
>   SET @@global.relay_log_index= 'x';
>   ERROR HY000: Variable 'relay_log_index' is a read only variable
>   #
> +SHOW VARIABLES like 'log_bin_index';
> +Variable_name	Value
> +log_bin_index	
> +SELECT @@session.log_bin_index;
> +ERROR HY000: Variable 'log_bin_index' is a GLOBAL variable
> +SELECT @@global.log_bin_index;
> +@@global.log_bin_index
> +NULL
> +SET @@session.log_bin_index= 'x';
> +ERROR HY000: Variable 'log_bin_index' is a read only variable
> +SET @@global.log_bin_index= 'x';
> +ERROR HY000: Variable 'log_bin_index' is a read only variable
> +#
>   SHOW VARIABLES like 'relay_log_info_file';
>   Variable_name	Value
>   relay_log_info_file	relay-log.info
>
> === added file 'mysql-test/suite/binlog/r/binlog_variables_log_bin.result'
> --- a/mysql-test/suite/binlog/r/binlog_variables_log_bin.result	1970-01-01 00:00:00
> +0000
> +++ b/mysql-test/suite/binlog/r/binlog_variables_log_bin.result	2010-10-28 15:42:17
> +0000
> @@ -0,0 +1,9 @@
> +SHOW VARIABLES LIKE 'log_bin%';
> +Variable_name	log_bin
> +Value	ON
> +Variable_name	log_bin_basename
> +Value	MYSQLTEST_VARDIR/mysqld.1/data/other
> +Variable_name	log_bin_index
> +Value	MYSQLTEST_VARDIR/mysqld.1/data/other.index
> +Variable_name	log_bin_trust_function_creators
> +Value	ON
>
> === added file 'mysql-test/suite/binlog/r/binlog_variables_log_bin_index.result'
> --- a/mysql-test/suite/binlog/r/binlog_variables_log_bin_index.result	1970-01-01
> 00:00:00 +0000
> +++ b/mysql-test/suite/binlog/r/binlog_variables_log_bin_index.result	2010-10-28
> 15:42:17 +0000
> @@ -0,0 +1,9 @@
> +SHOW VARIABLES LIKE 'log_bin%';
> +Variable_name	log_bin
> +Value	ON
> +Variable_name	log_bin_basename
> +Value	MYSQLTEST_VARDIR/mysqld.1/data/other
> +Variable_name	log_bin_index
> +Value	MYSQLTEST_VARDIR/tmp/something.index
> +Variable_name	log_bin_trust_function_creators
> +Value	ON
>
> === added file 'mysql-test/suite/binlog/r/binlog_variables_relay_log.result'
> --- a/mysql-test/suite/binlog/r/binlog_variables_relay_log.result	1970-01-01 00:00:00
> +0000
> +++ b/mysql-test/suite/binlog/r/binlog_variables_relay_log.result	2010-10-28 15:42:17
> +0000
> @@ -0,0 +1,15 @@
> +SHOW VARIABLES LIKE 'relay_log%';
> +Variable_name	relay_log
> +Value	other-relay
> +Variable_name	relay_log_basename
> +Value	MYSQLTEST_VARDIR/mysqld.1/data/other-relay
> +Variable_name	relay_log_index
> +Value	MYSQLTEST_VARDIR/mysqld.1/data/other-relay.index
> +Variable_name	relay_log_info_file
> +Value	relay-log.info
> +Variable_name	relay_log_purge
> +Value	ON
> +Variable_name	relay_log_recovery
> +Value	OFF
> +Variable_name	relay_log_space_limit
> +Value	0
>
> === added file 'mysql-test/suite/binlog/r/binlog_variables_relay_log_index.result'
> --- a/mysql-test/suite/binlog/r/binlog_variables_relay_log_index.result	1970-01-01
> 00:00:00 +0000
> +++ b/mysql-test/suite/binlog/r/binlog_variables_relay_log_index.result	2010-10-28
> 15:42:17 +0000
> @@ -0,0 +1,15 @@
> +SHOW VARIABLES LIKE 'relay_log%';
> +Variable_name	relay_log
> +Value	other-relay
> +Variable_name	relay_log_basename
> +Value	MYSQLTEST_VARDIR/mysqld.1/data/other-relay
> +Variable_name	relay_log_index
> +Value	MYSQLTEST_VARDIR/tmp/something-relay.index
> +Variable_name	relay_log_info_file
> +Value	relay-log.info
> +Variable_name	relay_log_purge
> +Value	ON
> +Variable_name	relay_log_recovery
> +Value	OFF
> +Variable_name	relay_log_space_limit
> +Value	0
>
> === added file 'mysql-test/suite/binlog/t/binlog_variables_log_bin-master.opt'
> --- a/mysql-test/suite/binlog/t/binlog_variables_log_bin-master.opt	1970-01-01
> 00:00:00 +0000
> +++ b/mysql-test/suite/binlog/t/binlog_variables_log_bin-master.opt	2010-10-28
> 15:42:17 +0000
> @@ -0,0 +1 @@
> +--log-bin=other
> \ No newline at end of file
>
> === added file 'mysql-test/suite/binlog/t/binlog_variables_log_bin.test'
> --- a/mysql-test/suite/binlog/t/binlog_variables_log_bin.test	1970-01-01 00:00:00
> +0000
> +++ b/mysql-test/suite/binlog/t/binlog_variables_log_bin.test	2010-10-28 15:42:17
> +0000
> @@ -0,0 +1,4 @@
> +--source include/not_embedded.inc
> +
> +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
> +--query_vertical SHOW VARIABLES LIKE 'log_bin%'
>
> === added file 'mysql-test/suite/binlog/t/binlog_variables_log_bin_index-master.opt'
> --- a/mysql-test/suite/binlog/t/binlog_variables_log_bin_index-master.opt	1970-01-01
> 00:00:00 +0000
> +++ b/mysql-test/suite/binlog/t/binlog_variables_log_bin_index-master.opt	2010-10-28
> 15:42:17 +0000
> @@ -0,0 +1,2 @@
> +--log-bin=other
> +--log-bin-index=$MYSQLTEST_VARDIR/tmp/something.index
>
> === added file 'mysql-test/suite/binlog/t/binlog_variables_log_bin_index.test'
> --- a/mysql-test/suite/binlog/t/binlog_variables_log_bin_index.test	1970-01-01
> 00:00:00 +0000
> +++ b/mysql-test/suite/binlog/t/binlog_variables_log_bin_index.test	2010-10-28
> 15:42:17 +0000
> @@ -0,0 +1,4 @@
> +--source include/not_embedded.inc
> +
> +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
> +--query_vertical SHOW VARIABLES LIKE 'log_bin%'
>
> === added file 'mysql-test/suite/binlog/t/binlog_variables_relay_log-master.opt'
> --- a/mysql-test/suite/binlog/t/binlog_variables_relay_log-master.opt	1970-01-01
> 00:00:00 +0000
> +++ b/mysql-test/suite/binlog/t/binlog_variables_relay_log-master.opt	2010-10-28
> 15:42:17 +0000
> @@ -0,0 +1 @@
> +--relay-log=other-relay
> \ No newline at end of file
>
> === added file 'mysql-test/suite/binlog/t/binlog_variables_relay_log.test'
> --- a/mysql-test/suite/binlog/t/binlog_variables_relay_log.test	1970-01-01 00:00:00
> +0000
> +++ b/mysql-test/suite/binlog/t/binlog_variables_relay_log.test	2010-10-28 15:42:17
> +0000
> @@ -0,0 +1,4 @@
> +--source include/not_embedded.inc
> +
> +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
> +--query_vertical SHOW VARIABLES LIKE 'relay_log%'
>
> === added file
> 'mysql-test/suite/binlog/t/binlog_variables_relay_log_index-master.opt'
> ---
> a/mysql-test/suite/binlog/t/binlog_variables_relay_log_index-master.opt	1970-01-01
> 00:00:00 +0000
> +++
> b/mysql-test/suite/binlog/t/binlog_variables_relay_log_index-master.opt	2010-10-28
> 15:42:17 +0000
> @@ -0,0 +1,2 @@
> +--relay-log=other-relay
> +--relay-log-index=$MYSQLTEST_VARDIR/tmp/something-relay.index
> \ No newline at end of file
>
> === added file 'mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test'
> --- a/mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test	1970-01-01
> 00:00:00 +0000
> +++ b/mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test	2010-10-28
> 15:42:17 +0000
> @@ -0,0 +1,4 @@
> +--source include/not_embedded.inc
> +
> +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
> +--query_vertical SHOW VARIABLES LIKE 'relay_log%'
>
> === modified file 'mysql-test/suite/rpl/r/rpl_flushlog_loop.result'
> --- a/mysql-test/suite/rpl/r/rpl_flushlog_loop.result	2010-05-26 14:34:25 +0000
> +++ b/mysql-test/suite/rpl/r/rpl_flushlog_loop.result	2010-10-28 15:42:17 +0000
> @@ -7,7 +7,8 @@ start slave;
>   show variables like 'relay_log%';
>   Variable_name	Value
>   relay_log	MYSQLD_DATADIR/relay-log
> -relay_log_index	
> +relay_log_basename	MYSQLD_DATADIR/relay-log
> +relay_log_index	MYSQLD_DATADIR/relay-log.index
>   relay_log_info_file	relay-log.info
>   relay_log_purge	ON
>   relay_log_recovery	OFF
>
> === modified file 'mysql-test/suite/rpl/r/rpl_variables.result'
> --- a/mysql-test/suite/rpl/r/rpl_variables.result	2008-08-14 09:38:22 +0000
> +++ b/mysql-test/suite/rpl/r/rpl_variables.result	2010-10-28 15:42:17 +0000
> @@ -47,6 +47,34 @@ include/start_slave.inc
>   [on slave]
>   SET @@global.init_slave = 'SELECT 1';
>   [on master]
> +SELECT @@pid_file, @@datadir;
> +@@pid_file	MYSQL_TEST_DIR/var/run/mysqld.1.pid
> +@@datadir	MYSQL_TEST_DIR/var/mysqld.1/data/
> +**** Relay log variables
> +SELECT @@relay_log, @@relay_log_index, @@relay_log_basename;
> +@@relay_log	NULL
> +@@relay_log_index	NULL
> +@@relay_log_basename	NULL
> +**** Binary log variables
> +SELECT @@log_bin, @@log_bin_index, @@log_bin_basename;
> +@@log_bin	1
> +@@log_bin_index	MYSQL_TEST_DIR/var/mysqld.1/data/master-bin.index
> +@@log_bin_basename	MYSQL_TEST_DIR/var/mysqld.1/data/master-bin
> +[on slave]
> +SELECT @@pid_file, @@datadir;
> +@@pid_file	MYSQL_TEST_DIR/var/run/mysqld.2.pid
> +@@datadir	MYSQL_TEST_DIR/var/mysqld.2/data/
> +**** Relay log variables
> +SELECT @@relay_log, @@relay_log_index, @@relay_log_basename;
> +@@relay_log	slave-relay-bin
> +@@relay_log_index	MYSQL_TEST_DIR/var/mysqld.2/data/slave-relay-bin.index
> +@@relay_log_basename	MYSQL_TEST_DIR/var/mysqld.2/data/slave-relay-bin
> +**** Binary log variables
> +SELECT @@log_bin, @@log_bin_index, @@log_bin_basename;
> +@@log_bin	1
> +@@log_bin_index	MYSQL_TEST_DIR/var/mysqld.2/data/slave-bin.index
> +@@log_bin_basename	MYSQL_TEST_DIR/var/mysqld.2/data/slave-bin
> +[on master]
>   CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
>   truth BOOLEAN,
>   num INT,
>
> === modified file 'mysql-test/suite/rpl/t/rpl_variables.test'
> --- a/mysql-test/suite/rpl/t/rpl_variables.test	2008-07-17 16:26:59 +0000
> +++ b/mysql-test/suite/rpl/t/rpl_variables.test	2010-10-28 15:42:17 +0000
> @@ -122,6 +122,30 @@ SET @@global.init_slave = 'SELECT 1';
>
>   --echo [on master]
>   connection master;
> +# checking values of read-only variables
> +--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
> +query_vertical SELECT @@pid_file, @@datadir;
> +--echo **** Relay log variables
> +--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
> +query_vertical SELECT @@relay_log, @@relay_log_index, @@relay_log_basename;
> +--echo **** Binary log variables
> +--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
> +query_vertical SELECT @@log_bin, @@log_bin_index, @@log_bin_basename;
> +
> +--echo [on slave]
> +connection slave;
> +# checking values of read-only variables
> +--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
> +query_vertical SELECT @@pid_file, @@datadir;
> +--echo **** Relay log variables
> +--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
> +query_vertical SELECT @@relay_log, @@relay_log_index, @@relay_log_basename;
> +--echo **** Binary log variables
> +--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
> +query_vertical SELECT @@log_bin, @@log_bin_index, @@log_bin_basename;
> +
> +--echo [on master]
> +connection master;
>
>   # Tables where everything happens.
>   CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
>
> === modified file 'mysql-test/suite/sys_vars/r/all_vars.result'
> --- a/mysql-test/suite/sys_vars/r/all_vars.result	2010-06-17 09:13:53 +0000
> +++ b/mysql-test/suite/sys_vars/r/all_vars.result	2010-10-28 15:42:17 +0000
> @@ -10,7 +10,13 @@ There should be *no* long test name list
>   select variable_name as `There should be *no* variables listed below:` from t2
>   left join t1 on variable_name=test_name where test_name is null;
>   There should be *no* variables listed below:
> +RELAY_LOG_BASENAME
> +LOG_BIN_BASENAME
> +LOG_BIN_INDEX
>   INNODB_FILE_FORMAT_MAX
> +RELAY_LOG_BASENAME
> +LOG_BIN_BASENAME
> +LOG_BIN_INDEX
>   INNODB_FILE_FORMAT_MAX
>   drop table t1;
>   drop table t2;
>
> === modified file 'mysql-test/t/flush2.test'
> --- a/mysql-test/t/flush2.test	2007-03-23 11:36:07 +0000
> +++ b/mysql-test/t/flush2.test	2010-10-28 15:42:17 +0000
> @@ -4,6 +4,8 @@
>   flush logs;
>   set global expire_logs_days = 3;
>   show variables like 'log_bin%';
> +show variables like 'relay_log%';
>   flush logs;
>   show variables like 'log_bin%';
> +show variables like 'relay_log%';
>   set global expire_logs_days = 0;
>
> === modified file 'mysql-test/t/variables-notembedded.test'
> --- a/mysql-test/t/variables-notembedded.test	2008-12-13 19:42:12 +0000
> +++ b/mysql-test/t/variables-notembedded.test	2010-10-28 15:42:17 +0000
> @@ -58,6 +58,26 @@ SET @@session.relay_log= 'x';
>   SET @@global.relay_log= 'x';
>   #
>   --echo #
> +SHOW VARIABLES like 'relay_log_basename';
> +--error ER_INCORRECT_GLOBAL_LOCAL_VAR
> +SELECT @@session.relay_log_basename;
> +SELECT @@global.relay_log_basename;
> +--error ER_INCORRECT_GLOBAL_LOCAL_VAR
> +SET @@session.relay_log_basename= 'x';
> +--error ER_INCORRECT_GLOBAL_LOCAL_VAR
> +SET @@global.relay_log_basename= 'x';
> +#
> +--echo #
> +SHOW VARIABLES like 'log_bin_basename';
> +--error ER_INCORRECT_GLOBAL_LOCAL_VAR
> +SELECT @@session.log_bin_basename;
> +SELECT @@global.log_bin_basename;
> +--error ER_INCORRECT_GLOBAL_LOCAL_VAR
> +SET @@session.log_bin_basename= 'x';
> +--error ER_INCORRECT_GLOBAL_LOCAL_VAR
> +SET @@global.log_bin_basename= 'x';
> +#
> +--echo #
>   SHOW VARIABLES like 'relay_log_index';
>   --error ER_INCORRECT_GLOBAL_LOCAL_VAR
>   SELECT @@session.relay_log_index;
> @@ -68,6 +88,16 @@ SET @@session.relay_log_index= 'x';
>   SET @@global.relay_log_index= 'x';
>   #
>   --echo #
> +SHOW VARIABLES like 'log_bin_index';
> +--error ER_INCORRECT_GLOBAL_LOCAL_VAR
> +SELECT @@session.log_bin_index;
> +SELECT @@global.log_bin_index;
> +--error ER_INCORRECT_GLOBAL_LOCAL_VAR
> +SET @@session.log_bin_index= 'x';
> +--error ER_INCORRECT_GLOBAL_LOCAL_VAR
> +SET @@global.log_bin_index= 'x';
> +#
> +--echo #
>   SHOW VARIABLES like 'relay_log_info_file';
>   --error ER_INCORRECT_GLOBAL_LOCAL_VAR
>   SELECT @@session.relay_log_info_file;
>
> === modified file 'sql/log.cc'
> --- a/sql/log.cc	2010-08-30 08:36:02 +0000
> +++ b/sql/log.cc	2010-10-28 15:42:17 +0000
> @@ -59,6 +59,9 @@
>
>   LOGGER logger;
>
> +const char *log_bin_index= 0;
> +const char *log_bin_basename= 0;
> +
>   MYSQL_BIN_LOG mysql_bin_log(&sync_binlog_period);
>
>   static bool test_if_number(const char *str,
>
> === modified file 'sql/log.h'
> --- a/sql/log.h	2010-08-20 11:22:46 +0000
> +++ b/sql/log.h	2010-10-28 15:42:17 +0000
> @@ -31,6 +31,9 @@ bool ending_single_stmt_trans(THD* thd,
>   bool trans_has_updated_non_trans_table(const THD* thd);
>   bool stmt_has_updated_non_trans_table(const THD* thd);
>
> +extern const char *log_bin_index;
> +extern const char *log_bin_basename;
> +
>   /*
>     Transaction Coordinator log - a base abstract class
>     for two different implementations
>
> === modified file 'sql/mysqld.cc'
> --- a/sql/mysqld.cc	2010-08-30 14:07:40 +0000
> +++ b/sql/mysqld.cc	2010-10-28 15:42:17 +0000
> @@ -656,7 +656,8 @@ static my_bool opt_do_pstack;
>   static my_bool opt_bootstrap, opt_myisam_log;
>   static int cleanup_done;
>   static ulong opt_specialflag;
> -static char *opt_update_logname, *opt_binlog_index_name;
> +static char *opt_update_logname;
> +char *opt_binlog_index_name;
>   char *mysql_home_ptr, *pidfile_name_ptr;
>   /** Initial command line arguments (count), after load_defaults().*/
>   static int defaults_argc;
> @@ -3080,6 +3081,34 @@ static inline char *make_default_log_nam
>     return make_log_name(buff, default_logfile_name, log_ext);
>   }
>
> +/**
> +  Create a replication file name or base for file names.
> +
> +  @param[in] opt Value of option, or NULL
> +  @param[in] def Default value if option value is not set.
> +  @param[in] ext Extension to use for the path
> +
> +  @returns Pointer to string containing the full file path, or NULL if
> +  it was not possible to create the path.
> + */
> +static inline const char *
> +rpl_make_log_name(const char *opt,
> +                  const char *def,
> +                  const char *ext)
> +{
> +  DBUG_ENTER("rpl_make_log_name");
> +  DBUG_PRINT("enter", ("opt: %s, def: %s, ext: %s", opt, def, ext));
> +  char buff[FN_REFLEN];
> +  const char *base= opt ? opt : def;
> +  unsigned int options=
> +    MY_REPLACE_EXT | MY_UNPACK_FILENAME | MY_SAFE_PATH;
> +  if (fn_format(buff, base, mysql_real_data_home_ptr, ext, options))
> +    DBUG_RETURN(strdup(buff));
> +  else
> +    DBUG_RETURN(NULL);
> +}
> +
> +
>   static int init_common_variables()
>   {
>     char buff[FN_REFLEN];
> @@ -3147,6 +3176,7 @@ static int init_common_variables()
>     strmake(pidfile_name, default_logfile_name, sizeof(pidfile_name)-5);
>     strmov(fn_ext(pidfile_name),".pid");		// Add proper extension
>
> +
>     /*
>       The default-storage-engine entry in my_long_options should have a
>       non-null default value. It was earlier intialized as
> @@ -3865,6 +3895,45 @@ a file name for --log-bin-index option",
>       }
>     }
>
> +  if (opt_bin_log)
> +  {
> +    log_bin_basename=
> +      rpl_make_log_name(opt_bin_logname, pidfile_name,
> +                        opt_bin_logname ? "" : "-bin");
> +    log_bin_index=
> +      rpl_make_log_name(opt_binlog_index_name, log_bin_basename, ".index");
> +    if (log_bin_basename == NULL || log_bin_index == NULL)
> +    {
> +      sql_print_error("Unable to create replication path names:"
> +                      " out of memory or path names too long"
> +                      " (path name exceeds " STRINGIFY_ARG(FN_REFLEN)
> +                      " or file name exceeds " STRINGIFY_ARG(FN_LEN) ").");
> +      unireg_abort(1);
> +    }
> +  }
> +
> +#ifndef EMBEDDED_LIBRARY
> +  DBUG_PRINT("debug",
> +             ("opt_bin_logname: %s, opt_relay_logname: %s, pidfile_name: %s",
> +              opt_bin_logname, opt_relay_logname, pidfile_name));
> +  if (opt_relay_logname)
> +  {
> +    relay_log_basename=
> +      rpl_make_log_name(opt_relay_logname, pidfile_name,
> +                        opt_relay_logname ? "" : "-relay-bin");
> +    relay_log_index=
> +      rpl_make_log_name(opt_relaylog_index_name, relay_log_basename, ".index");
> +    if (relay_log_basename == NULL || relay_log_index == NULL)
> +    {
> +      sql_print_error("Unable to create replication path names:"
> +                      " out of memory or path names too long"
> +                      " (path name exceeds " STRINGIFY_ARG(FN_REFLEN)
> +                      " or file name exceeds " STRINGIFY_ARG(FN_LEN) ").");
> +      unireg_abort(1);
> +    }
> +  }
> +#endif /* !EMBEDDED_LIBRARY */
> +
>     /* call ha_init_key_cache() on all key caches to init them */
>     process_key_caches(&ha_init_key_cache);
>
> @@ -5778,9 +5847,13 @@ struct my_option my_long_options[]=
>      &opt_bin_logname,&opt_bin_logname, 0, GET_STR_ALLOC,
>      OPT_ARG, 0, 0, 0, 0, 0, 0},
>     {"log-bin-index", 0,
> -   "File that holds the names for last binary log files.",
> +   "File that holds the names for binary log files.",
>      &opt_binlog_index_name,&opt_binlog_index_name, 0, GET_STR,
>      REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
> +  {"relay-log-index", 0,
> +   "File that holds the names for relay log files.",
> +&opt_relaylog_index_name,&opt_relaylog_index_name, 0, GET_STR,
> +   REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
>     {"log-isam", OPT_ISAM_LOG, "Log all MyISAM changes to file.",
>      &myisam_log_filename,&myisam_log_filename, 0, GET_STR,
>      OPT_ARG, 0, 0, 0, 0, 0, 0},
>
> === modified file 'sql/slave.cc'
> --- a/sql/slave.cc	2010-07-29 12:32:11 +0000
> +++ b/sql/slave.cc	2010-10-28 15:42:17 +0000
> @@ -75,6 +75,9 @@ Master_info *active_mi= 0;
>   my_bool replicate_same_server_id;
>   ulonglong relay_log_space_limit = 0;
>
> +const char *relay_log_index= 0;
> +const char *relay_log_basename= 0;
> +
>   /*
>     When slave thread exits, we need to remember the temporary tables so we
>     can re-use them on slave start.
>
> === modified file 'sql/slave.h'
> --- a/sql/slave.h	2010-03-31 14:05:33 +0000
> +++ b/sql/slave.h	2010-10-28 15:42:17 +0000
> @@ -113,11 +113,15 @@ extern bool use_slave_mask;
>   extern char *slave_load_tmpdir;
>   extern char *master_info_file, *relay_log_info_file;
>   extern char *opt_relay_logname, *opt_relaylog_index_name;
> +extern char *opt_binlog_index_name;
>   extern my_bool opt_skip_slave_start, opt_reckless_slave;
>   extern my_bool opt_log_slave_updates;
>   extern char *opt_slave_skip_errors;
>   extern ulonglong relay_log_space_limit;
>
> +extern const char *relay_log_index;
> +extern const char *relay_log_basename;
> +
>   /*
>     3 possible values for Master_info::slave_running and
>     Relay_log_info::slave_running.
>
> === modified file 'sql/sys_vars.cc'
> --- a/sql/sys_vars.cc	2010-08-30 14:07:40 +0000
> +++ b/sql/sys_vars.cc	2010-10-28 15:42:17 +0000
> @@ -2897,10 +2897,37 @@ static Sys_var_charptr Sys_relay_log(
>          READ_ONLY GLOBAL_VAR(opt_relay_logname), CMD_LINE(REQUIRED_ARG),
>          IN_FS_CHARSET, DEFAULT(0));
>
> +/*
> +  Uses NO_CMD_LINE since the --relay-log-index option set
> +  opt_relaylog_index_name variable and computes a value for the
> +  relay_log_index variable.
> +*/
>   static Sys_var_charptr Sys_relay_log_index(
>          "relay_log_index", "The location and name to use for the file "
>          "that keeps a list of the last relay logs",
> -       READ_ONLY GLOBAL_VAR(opt_relaylog_index_name), CMD_LINE(REQUIRED_ARG),
> +       READ_ONLY GLOBAL_VAR(relay_log_index), NO_CMD_LINE,
> +       IN_FS_CHARSET, DEFAULT(0));
> +
> +/*
> +  Uses NO_CMD_LINE since the --log-bin-index option set
> +  opt_binlog_index_name variable and computes a value for the
> +  log_bin_index variable.
> +*/
> +static Sys_var_charptr Sys_binlog_index(
> +       "log_bin_index", "File that holds the names for last binary log files.",
> +       READ_ONLY GLOBAL_VAR(log_bin_index), NO_CMD_LINE,
> +       IN_FS_CHARSET, DEFAULT(0));
> +
> +static Sys_var_charptr Sys_relay_log_basename(
> +       "relay_log_basename",
> +       "The full path of the relay log file names, excluding the extension.",
> +       READ_ONLY GLOBAL_VAR(relay_log_basename), NO_CMD_LINE,
> +       IN_FS_CHARSET, DEFAULT(0));
> +
> +static Sys_var_charptr Sys_log_bin_basename(
> +       "log_bin_basename",
> +       "The full path of the binary log file names, excluding the extension.",
> +       READ_ONLY GLOBAL_VAR(log_bin_basename), NO_CMD_LINE,
>          IN_FS_CHARSET, DEFAULT(0));
>
>   static Sys_var_charptr Sys_relay_log_info_file(
>
>
>
>
>

Thread
bzr commit into mysql-5.5 branch (mats.kindahl:3087) WL#5465Mats Kindahl28 Oct
Re: bzr commit into mysql-5.5 branch (mats.kindahl:3087) WL#5465Alfranio Correia2 Nov
  • Re: bzr commit into mysql-5.5 branch (mats.kindahl:3087) WL#5465Mats Kindahl2 Nov
Re: bzr commit into mysql-5.5 branch (mats.kindahl:3087) WL#5465Sven Sandberg4 Nov