server-tools/instance-manager/IMService.cpp:
make sure HandleServiceOptions returns 0 on success and 1 on failure
server-tools/instance-manager/mysqlmanager.cc:
default return value is 1.
simplify some code bits by just jumping to err on error.
move options.cleanup inside the err block. In this case, the err block
is more than just an error block. It is the terminating block
for both error and success. You set return_value to 0 for success
or leave it as 1 for failure. This simplies this function a bit.
server-tools/instance-manager/options.cc:
remove the malloc for default password filename on Windows and replace
with statically allocated memory.
default Options:saved_argv to NULL so that we will know if we need
to free it in cleanup()
setup the default config file location for Windows inside the
setup_windows_defaults function and remove this code from load()
rework setup_windows_defaults so that it properly returns 0 on success
and 1 on error and so it fills in the default location for the
log file, password file, and config file.
into fedora.(none):/home/reggie/bk/im_patch
server-tools/instance-manager/manager.cc:
Auto merged
server-tools/instance-manager/mysqlmanager.cc:
Auto merged
server-tools/instance-manager/options.h:
Auto merged
server-tools/instance-manager/commands.cc:
final merge of IM port code for Windows
server-tools/instance-manager/instance_map.cc:
final merge of IM port code for Windows
server-tools/instance-manager/options.cc:
final merge of IM port code for Windows
Implemented on brian's request.
server-tools/instance-manager/Makefile.am:
define default config file
server-tools/instance-manager/commands.cc:
Use specified or default file to edit with SET commands instead of hardcoded file
server-tools/instance-manager/commands.h:
add member to SET commands
server-tools/instance-manager/instance_map.cc:
rename first_option -> single_defaults_option, made logging a bit more verbose
server-tools/instance-manager/instance_map.h:
rename first_option -> single_defaults_file + made it public
server-tools/instance-manager/manager.cc:
rename first_option -> single_defaults_file
server-tools/instance-manager/mysqlmanager.cc:
goto generic error label instead of simple return
server-tools/instance-manager/options.cc:
skip --defaults-extra file and give a message if it was specified, made IM
to read one config file only
server-tools/instance-manager/options.h:
added new members to the option structure
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''
include/my_sys.h:
added prototype for the defaults correction function
libmysql/Makefile.shared:
my_chsize added to libmysql to let my_correct_defaults_file be used from libmysql
mysys/default.c:
New defaults function added we use it to correct defaults file. Currently the function doesn't lock defaults
file. This is because of the linking and backwards-compatibility issues. This needs to be fixed later.
mysys/my_chsize.c:
comment added
server-tools/instance-manager/buffer.cc:
cleanup
server-tools/instance-manager/commands.cc:
refactoring: removed do_command method from most of the classes
server-tools/instance-manager/commands.h:
cleanup
server-tools/instance-manager/guardian.cc:
cleanup
server-tools/instance-manager/instance.cc:
cleanup
server-tools/instance-manager/instance_map.cc:
cleanup
server-tools/instance-manager/instance_options.cc:
cleanup
server-tools/instance-manager/instance_options.h:
cleanup
server-tools/instance-manager/listener.cc:
cleanup
server-tools/instance-manager/log.cc:
cleanup
server-tools/instance-manager/manager.cc:
cleanup
server-tools/instance-manager/messages.cc:
new errors added
server-tools/instance-manager/mysql_connection.cc:
cleanup
server-tools/instance-manager/mysql_manager_error.h:
new error codes added
server-tools/instance-manager/mysqlmanager.cc:
clenup
server-tools/instance-manager/options.cc:
cleanup
server-tools/instance-manager/parse.cc:
removed unused function
server-tools/instance-manager/parse.h:
removed prototype
server-tools/instance-manager/protocol.cc:
cleanup
server-tools/instance-manager/protocol.h:
added enum to be used in protocol.cc instead of the constants
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/Makefile.am:
increased default_monitoring interval
server-tools/instance-manager/guardian.cc:
some fixes for proper shutdown
server-tools/instance-manager/guardian.h:
removed init() prototype, as it was never used
server-tools/instance-manager/instance.cc:
cleanup() function removed
server-tools/instance-manager/instance.h:
cleanup() prototype removed
server-tools/instance-manager/instance_map.cc:
Instance_map::cleanup() removed, as instances have nothing to clean up
server-tools/instance-manager/instance_map.h:
Instance_map::cleanup() prototype removed
server-tools/instance-manager/instance_options.cc:
added print_argv() function for debug purposes
server-tools/instance-manager/instance_options.h:
declared print_argv()
server-tools/instance-manager/listener.cc:
some fixed in listener for proper shutdown
server-tools/instance-manager/log.cc:
cleanup
server-tools/instance-manager/log.h:
cleanup
server-tools/instance-manager/manager.cc:
some comments added
server-tools/instance-manager/mysqlmanager.cc:
we need to free memory in the very end
server-tools/instance-manager/options.cc:
fixed default options handling (as they were not working properly), added new method to cleanup Options
server-tools/instance-manager/options.h:
cleanup() declared
server-tools/instance-manager/thread_registry.cc:
cleanup
server-tools/instance-manager/user_map.cc:
missing password file is not a critical error anymore, as IM should be able to work as mysqld_safe only
server-tools/instance-manager/Makefile.am:
Makefile.am cleanup
server-tools/instance-manager/commands.cc:
cleanup
server-tools/instance-manager/instance_map.cc:
fix the problem caused thread deadlock (as load ends up in the find()
call which now also locks an instance map mutex)
server-tools/instance-manager/listener.cc:
portability fix
server-tools/instance-manager/manager.cc:
Ignore SIGPIPE
server-tools/instance-manager/mysqlmanager.cc:
cleanup
server-tools/instance-manager/options.cc:
options renamed
tree
server-tools/instance-manager/Makefile.am:
Fixed IM linking to avoid using both mysys and libmysql as the define the
same symbols and therefore conflict
server-tools/instance-manager/listener.cc:
Added ability to listen network ports
server-tools/instance-manager/listener.h:
Various additions to the Listener_thread_args
server-tools/instance-manager/log.cc:
merge
server-tools/instance-manager/log.h:
merge
server-tools/instance-manager/manager.cc:
Fixes and additions to enable guardian functionality
server-tools/instance-manager/manager.h:
Changed manager() signature
server-tools/instance-manager/mysqlmanager.cc:
Various fixes
server-tools/instance-manager/options.cc:
Added handling of default values for new options in the Options struct. (such
as default_user, default_password, monitoring_interval e.t.c)
server-tools/instance-manager/options.h:
Added new options to the Options struct
sql/net_serv.cc:
Added MYSQL_INSTANCE_MANAGER defines to enable alarm handling in the IM
server-tools/instance-manager/buffer.cc:
Simple implementation of variable-length buffer
server-tools/instance-manager/command.cc:
Abstract command. All commands are derived from Command class
server-tools/instance-manager/commands.h:
Interfaces for all commands we have
server-tools/instance-manager/factory.cc:
Commands factory. This class hides command instantiation. The idea is to
handle various protocols this way. (different commands for different
protocols
server-tools/instance-manager/guardian.cc:
Guardian thread implementation (monitor and restart instances in case of a
failure
server-tools/instance-manager/guardian.h:
Guardian_thread and Guardian_thread_args class interface. The
Guardian_thread is responsible for monitoring and restarting instances
server-tools/instance-manager/instance.cc:
Instance class contains methods and data to manage a single instance
server-tools/instance-manager/instance.h:
This file contains class an instance class interface. The class is
responsible for starting/stopping an instance
server-tools/instance-manager/instance_map.cc:
The instance repository. This class is also responsible for initialization
of Instance class objects.
server-tools/instance-manager/instance_options.cc:
The Instance_options class contains all methods to get and handle options
of an instance
server-tools/instance-manager/mysql_connection.cc:
The class responsible for handling MySQL client/server protocol connections
server-tools/instance-manager/mysql_manager_error.h:
The list of Instance Manger-specific errors
server-tools/instance-manager/parse.cc:
Simple query parser
server-tools/instance-manager/parse.h:
Parser interface
server-tools/instance-manager/protocol.cc:
Here implemented functions used to handle mysql client/server protocol
server-tools/instance-manager/protocol.h:
Interface for MySQL client/server protocol
server-tools/instance-manager/thread_registry.cc:
Thread registry stores information about every thread. It's main function is
to provide graceful shutdown for all threads.
server-tools/instance-manager/user_map.h:
User map contains hash with user names and passwords
safe shutdown and signal deliverence to all threads in
the manager process
server-tools/instance-manager/Makefile.am:
added listener.{h,cc} (listener thread)
and thread_repository.{h,cc} -
class to handle threads && signals
server-tools/instance-manager/log.h:
minor fixes
server-tools/instance-manager/manager.cc:
unnecessary error checking was removed
added implementation for signal thread
server-tools/instance-manager/manager.h:
header guards're added
server-tools/instance-manager/mysqlmanager.cc:
unnecessary error checking was removed
server-tools/instance-manager/options.cc:
minor fixes
server-tools/instance-manager/options.h:
removed wrong declaration
logging, options, angel process.
configure.in:
added support for instance-manager directory
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted