Fix the way that instance manager finds the version number of instances,
so that it works properly when the executable name isn't the same as what
the instance-manager launched, such as when wrapping a libtool-wrapped
executable from the source tree.
This removes the 'Ver ' reported in the version column output by
'SHOW INSTANCE STATUS ...', but the format of this column is not
documented (and is pretty free-form to begin with).
server-tools/instance-manager/instance_options.cc:
Look for 'Ver' to get version from running mysqld --version
server-tools/instance-manager/parse_output.cc:
Make parse_output_and_get_value() look at the whole line to find
the word, instead of just at the beginning of each line.
sql/mysqld.cc:
Note that the instance manager relies on 'Ver' in mysqld --version
server-tools/instance-manager/instance_options.cc:
fix for coding guidelines
server-tools/instance-manager/parse_output.cc:
fix for coding guidelines
server-tools/instance-manager/priv.cc:
don't call pthread_attr_setstacksize on Windows
server-tools/instance-manager/priv.h:
include my_pthread so the thread functions will compile on Windows
server-tools/instance-manager/instance_options.cc:
move declaration of end to start of function so gcc is happy
server-tools/instance-manager/parse_output.cc:
remove space before =
use my_isspace to determine if *end is white space
remove comments related to get_word which was removed
replace tab character with appropriate # of spaces
server-tools/instance-manager/instance_options.cc:
fixed to coding guidelines
server-tools/instance-manager/parse_output.cc:
removed tabs
and added call to trim_space
server-tools/instance-manager/instance_options.cc:
small cleanup
-and-
convert mysqld_path to the proper syntax after reading
server-tools/instance-manager/parse_output.cc:
stop using get_word since it stops at spaces. Now we just read the entire line and trim spaces.
Intel compiler.
client/mysqltest.c:
Fixed a warning from using reference to a memory area,
which is outside an object. This is just a minor
clean-up, not a bug fix.
server-tools/instance-manager/buffer.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/buffer.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/command.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/command.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/guardian.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/guardian.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance_map.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance_map.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance_options.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance_options.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/listener.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/listener.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/mysql_connection.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/mysql_connection.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/options.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/options.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/parse_output.cc:
Removed unused goto.
server-tools/instance-manager/thread_registry.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/thread_registry.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/user_map.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/user_map.h:
Fixed pragma warning for those compilers that do
not support it.
sql/field.cc:
Fixed a warning about overflow.
sql/item.h:
Fixed implicit function declaration warning.
sql/item_sum.cc:
Fixed implicit function declaration warning.
BitKeeper/deleted/.del-factory.h~c1679505d3a6dd53:
Delete: server-tools/instance-manager/factory.h
BitKeeper/deleted/.del-factory.cc~6836cccd4cd35b4d:
Delete: server-tools/instance-manager/factory.cc
server-tools/instance-manager/Makefile.am:
- remove Commands_factory: it'll be needed when we add support
for NNTP/HTTP connections, currently it only adds unnecessary
complexity.
server-tools/instance-manager/commands.cc:
- fix coding style: no else after return; fix comments, make
one place a bit faster.
server-tools/instance-manager/guardian.cc:
- fix coding style and comments.
- we must register the current thread in the thread registry
before entering pthread_cond_timedwait, because at shutdown
the thread registry will try to kick out of wait all blocked
threads. Unregistered threads are not awakened by the registry.
This fixes the failinig assert in Thread_registry::~Thread_registry
at shutdown, when shutdown is requested and there is an
instance monitored by Guardian.
server-tools/instance-manager/guardian.h:
- fix coding style: enums must start with enum_
server-tools/instance-manager/instance.h:
- move comment to the variable it comments
server-tools/instance-manager/instance_map.cc:
- cleanup
server-tools/instance-manager/instance_options.cc:
- cleanup; no else after return (fix coding style).
server-tools/instance-manager/manager.cc:
- fix alignment; make some code easier to read.
server-tools/instance-manager/mysql_connection.cc:
- remove Commands_factory
server-tools/instance-manager/options.cc:
- fix a possible crash when the instance manager is started with
--no-defaults --defaults-file=~/.my.cnf: if we return
without cloning saved_argv by calling load_defaults, Options::cleanup
will crash on attempt to free_defaults(saved_argv);
server-tools/instance-manager/parse.cc:
- get rid of Commands_factory
server-tools/instance-manager/parse.h:
- get rid of Commands_factory
server-tools/instance-manager/parse_output.cc:
- in parse_output_and_get_value return error also if the specified
pattern was not found, or the command failed to execute.
server-tools/instance-manager/portability.h:
- fix coding style (// comments are allowed only at ends of lines)
server-tools/instance-manager/thread_registry.cc:
- implement Thread_registry::cond_timedwait
server-tools/instance-manager/thread_registry.h:
- implement Thread_registry::cond_timedwait; remove
unused out parameter from Thread_registry::cond_wait.
server-tools/instance-manager/user_map.cc:
- safety: newline can take 2 bytes.
Rename "port.h" to "portability.h" to avoid conflict with system header file name,
and include the file in "Makefile.am".
server-tools/instance-manager/Makefile.am:
Ensure that the (recently added) header "portability.h" (renamed from "port.h") gets included in the source packages.
server-tools/instance-manager/guardian.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/instance.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/instance_options.h:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/listener.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/log.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/mysqlmanager.vcproj:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/options.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/parse_output.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/portability.h:
Adapt the protective CPP symbol to the changed file name.
server-tools/instance-manager/priv.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/priv.h:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/commands.cc:
type cleanups for compiling on Windows
now using Options::config_file for the location of the single
my.cnf file we are using
server-tools/instance-manager/guardian.cc:
pthread_mutex_lock and unlock do not return a value on Windows
so we return 0 in all cases
server-tools/instance-manager/instance.cc:
big changes here.
Had to implement Windows versions of launch_and_wait and kill()
server-tools/instance-manager/instance.h:
added some function defs
server-tools/instance-manager/instance_map.cc:
pthread_mutex_lock and unlock do not return a value on Windows
Also, now using only the file named as Options::config_file
server-tools/instance-manager/instance_options.h:
added reference to port.h
server-tools/instance-manager/listener.cc:
reworked and simplified the socket handling code.
Added windows versions of the code that sets the sockets to be
non-blocking and non-inheritable
server-tools/instance-manager/listener.h:
change Options to always be a struct. Really surprised GCC was
letting this go. Options was declared to be struct in some places
and class in other places.
server-tools/instance-manager/log.cc:
added reference to port.h
server-tools/instance-manager/manager.cc:
moved all the signal code inside some #ifndef __WIN__ blocks
server-tools/instance-manager/manager.h:
change Options to always be a struct. Really surprised GCC was
letting this go. Options was declared to be struct in some places
and class in other places.
server-tools/instance-manager/mysqlmanager.cc:
added in the Windows service code.
server-tools/instance-manager/options.cc:
Added in the windows options for running as a service and the code
for loading settings only from a single file
server-tools/instance-manager/options.h:
added definitions for the new Windows service vars and routines
server-tools/instance-manager/parse_output.cc:
added reference to port.h
server-tools/instance-manager/priv.cc:
added reference to port.h
server-tools/instance-manager/priv.h:
linuxthreads should not be visible on Windows
server-tools/instance-manager/thread_registry.cc:
more __WIN__ blocking
server-tools/instance-manager/user_map.cc:
fixed passwd file code to handle files with \r\n line endings
server-tools/instance-manager/IMService.cpp:
New BitKeeper file ``server-tools/instance-manager/IMService.cpp''
server-tools/instance-manager/IMService.h:
New BitKeeper file ``server-tools/instance-manager/IMService.h''
server-tools/instance-manager/WindowsService.cpp:
New BitKeeper file ``server-tools/instance-manager/WindowsService.cpp''
server-tools/instance-manager/WindowsService.h:
New BitKeeper file ``server-tools/instance-manager/WindowsService.h''
server-tools/instance-manager/mysqlmanager.vcproj:
New BitKeeper file ``server-tools/instance-manager/mysqlmanager.vcproj''
server-tools/instance-manager/port.h:
New BitKeeper file ``server-tools/instance-manager/port.h''
server-tools/instance-manager/commands.cc:
remove commented out code
server-tools/instance-manager/instance.cc:
use flag instead of int variable
server-tools/instance-manager/instance.h:
no more default values
server-tools/instance-manager/instance_map.cc:
use flag to be more verbose
server-tools/instance-manager/instance_options.cc:
don't read options when looking for an option, use strmake instead of strchr
server-tools/instance-manager/instance_options.h:
fix comment, use flag instead of int value
server-tools/instance-manager/listener.cc:
don't like c++ comments
server-tools/instance-manager/log.cc:
safety: strmake adds trailing zero to the string
server-tools/instance-manager/parse_output.cc:
use strmake instead of strncpy, renamed varianles to make code more readable
server-tools/instance-manager/parse_output.h:
get rid of default value
server-tools/instance-manager/buffer.h:
fix for the valgring error
server-tools/instance-manager/commands.cc:
sent the version string
server-tools/instance-manager/instance_options.cc:
compute and store the version string
server-tools/instance-manager/instance_options.h:
add a version string option, and added caching of the mysqld_path length
server-tools/instance-manager/options.cc:
fix valgrind error
server-tools/instance-manager/parse_output.cc:
Add an option to parse_output_and_get_value in order to be
able to get the rest of the string after the found word in
the output of popen() (E.g. a version string).
server-tools/instance-manager/parse_output.h:
prototype changed
current version of the IM
server-tools/instance-manager/commands.cc:
Log and set options commands added
server-tools/instance-manager/commands.h:
Log and set options commands added
server-tools/instance-manager/factory.cc:
Log and set options factory entries added
server-tools/instance-manager/factory.h:
prototypes added
server-tools/instance-manager/instance_options.cc:
fill_log_options() added
server-tools/instance-manager/instance_options.h:
log processing options and funcctions added
server-tools/instance-manager/messages.cc:
new error messages added (log and option processing-related)
server-tools/instance-manager/mysql_connection.cc:
minor fixes
server-tools/instance-manager/mysql_manager_error.h:
new error codes added
server-tools/instance-manager/parse.cc:
parser fixed to recognize new commands. function to parse command-line options added
server-tools/instance-manager/parse.h:
header fixed in line with .cc changes
server-tools/instance-manager/parse_output.cc:
cleanup
server-tools/instance-manager/parse_output.h:
header guards added
server-tools/instance-manager/protocol.cc:
Protocol support extended to provide messages in ok packet
server-tools/instance-manager/protocol.h:
protocol support extended: ok packet could contain messages
server-tools/instance-manager/buffer.cc:
coding style fixes
server-tools/instance-manager/buffer.h:
wrong constructor initialisation fixed
server-tools/instance-manager/commands.cc:
cleanup
server-tools/instance-manager/guardian.cc:
cleanup + added lock/unlock routines
server-tools/instance-manager/guardian.h:
GUARD_NODE moved to the header
server-tools/instance-manager/instance.cc:
Fix for the linuxthreads/POSIX signal handling problem (see comments in the code)
server-tools/instance-manager/instance.h:
condition variable renamed and commented
server-tools/instance-manager/instance_map.cc:
We need to refresh guardian during flush_instances
server-tools/instance-manager/instance_map.h:
removed obsolete function declaration
server-tools/instance-manager/instance_options.cc:
added caching of computed values
server-tools/instance-manager/instance_options.h:
added vars to cache some option values
server-tools/instance-manager/listener.cc:
check whether we are running on the linux threads
server-tools/instance-manager/manager.cc:
lock guardian before init()
server-tools/instance-manager/parse_output.cc:
cleanup
server-tools/instance-manager/priv.cc:
added global variables to detect whether we are running on the LinuxThreads
server-tools/instance-manager/priv.h:
added global variables to detect whether we are running on the LinuxThreads
server-tools/instance-manager/commands.cc:
typo fixed
server-tools/instance-manager/instance.cc:
moved options.complete_initialization to the instance::complete_initialization
server-tools/instance-manager/instance.h:
moved options.complete_initialization to the Instance::complete_initialization
server-tools/instance-manager/instance_map.cc:
moved options.complete_initialization to the Instance::complete_initialization, added code to create
default instance if none is given iin config. file
server-tools/instance-manager/instance_map.h:
complete_initialization now returns an error in case of a problem
server-tools/instance-manager/instance_options.cc:
some error handling added
server-tools/instance-manager/instance_options.h:
error handling added
server-tools/instance-manager/manager.cc:
error handling added
server-tools/instance-manager/mysqlmanager.cc:
stop mysqlmanager if options were not loaded correctly
server-tools/instance-manager/options.cc:
return-value added
server-tools/instance-manager/options.h:
return-value added to the OPtions::load()
server-tools/instance-manager/parse_output.cc:
no need to examine mysqld --help -v termination status
server-tools/instance-manager/buffer.cc:
use my_realloc instead of realloc
server-tools/instance-manager/buffer.h:
use my_malloc instead of malloc
server-tools/instance-manager/commands.cc:
No need to send a buffer if there were some error while writing to it
server-tools/instance-manager/instance_options.cc:
cleanup
server-tools/instance-manager/manager.cc:
check sigwait return value
server-tools/instance-manager/parse_output.cc:
fixed a bug, found with valgrind
BitKeeper/deleted/.del-client_func.c~3476a8a85cbd3c29:
Delete: server-tools/instance-manager/client_func.c
server-tools/instance-manager/Makefile.am:
clien_func removed
server-tools/instance-manager/buffer.cc:
several methods added
server-tools/instance-manager/buffer.h:
Some error-handling fixes.
server-tools/instance-manager/commands.cc:
check for Buffer errors
server-tools/instance-manager/guardian.cc:
Guardian rewiriten. Not it works in a finite state machine-way.
server-tools/instance-manager/guardian.h:
Appropriate (to .cc) changes in the header + some comment added
server-tools/instance-manager/instance.cc:
added proxy thread to monitor instance. Two kinds of stop() now -- stop() and kill_instance which
only sends a signal
server-tools/instance-manager/instance.h:
appropriate changes
server-tools/instance-manager/instance_map.cc:
cleanup
server-tools/instance-manager/instance_map.h:
cleanup
server-tools/instance-manager/instance_options.cc:
Caching of the pid-file-name is added. some comments added
server-tools/instance-manager/instance_options.h:
cleanup
server-tools/instance-manager/listener.cc:
listener my_thread_init added (though it doesn't use any mysys functions). Just in case
server-tools/instance-manager/manager.cc:
SIGCHLD handler removed. now instance monitoring is implemented through proxy threads. This is to work nicely
with LinuxThreads
server-tools/instance-manager/options.cc:
added option to create a password file entry (this was implemented by Sergei Vojtovich)
server-tools/instance-manager/parse.cc:
inline function get_word moved to the header
server-tools/instance-manager/parse.h:
get_word moved here to use form parse_output
server-tools/instance-manager/parse_output.cc:
get_word() clone removed. now looking through the output linewise
server-tools/instance-manager/protocol.cc:
Buffer error chech added
server-tools/instance-manager/user_map.cc:
typo fixed
server-tools/instance-manager/Makefile.am:
New file added
server-tools/instance-manager/client_func.c:
typo fixed
server-tools/instance-manager/commands.cc:
there are no admin-user snd admin-password fields anymore, so no need to show their values
server-tools/instance-manager/guardian.cc:
Syncronization added -- now guardian wakes up whenever SIGCLD has been catched
server-tools/instance-manager/guardian.h:
Condition variable declared
server-tools/instance-manager/instance.cc:
Persistent connection to the instance removed. Now we use SIGTERM instead of com_shutdown for STOP. We also
manage SIGCHLD ourselves now (therefore no double fork).
server-tools/instance-manager/instance.h:
Pointer to the instance_map added, MySQL connection structures removed
server-tools/instance-manager/instance_map.cc:
More syncronization added (to make proper STOP)
server-tools/instance-manager/instance_map.h:
added condition variable and mutex for connection threads to wait for SIGCHLD
server-tools/instance-manager/instance_options.cc:
defaults-handling methods have been added.
server-tools/instance-manager/instance_options.h:
New functions and constants declared
server-tools/instance-manager/listener.cc:
No changes here (bk bug?)
server-tools/instance-manager/manager.cc:
SIGCHLD handling added