Otherwise, if the previous run ended with a crash, and the PID was 1234,
and you have rebooted the machine and the new PID is 99 then in the PID
file you will have 9934.
Note: users of mysqld_safe did not have the problem because this script
deletes the PID file before starting mysqld.
New formats added for 'week()' function and 'default_week_format' option(4 - 7).
Next formats is supported now:
*Value* *Meaning*
`0' Week starts on Sunday; First Sunday of the year starts week 1.
Week() returns 0-53.
`1' Week starts on Monday; Weeks numbered according to ISO 8601:1988.
Week() returns 0-53.
`2' Week starts on Sunday; First Sunday of the year starts week 1.
Week() returns 1-53.
`3' Week starts on Monday; Weeks numbered according to ISO 8601:1988.
Week() returns 1-53.
`4' Week starts on Sunday; Weeks numbered according to ISO 8601:1988.
Week() returns 0-53.
`5' Week starts on Monday; First Monday of the year starts week 1.
Week() returns 0-53.
`6' Week starts on Sunday; Weeks numbered according to ISO 8601:1988.
Week() returns 1-53.
`7' Week starts on Monday; First Monday of the year starts week 1.
Week() returns 1-53.
mysql-test/r/func_time.result:
Test for 'default_week_format' option and 'week' function
mysql-test/t/func_time.test:
Test for 'default_week_format' option and 'week' function
sql/item_timefunc.cc:
WL#1175 more default_week_formats for iso compatibility
sql/mysql_priv.h:
WL#1175 more default_week_formats for iso compatibility
sql/mysqld.cc:
WL#1175 more default_week_formats for iso compatibility
sql/time.cc:
WL#1175 more default_week_formats for iso compatibility
move bdb/innodb tests to right places
mysql-test/r/bdb.result:
Update results after test changes
mysql-test/r/innodb.result:
Update results after test changes
mysql-test/r/multi_update.result:
Update results after test changes
mysql-test/t/bdb.test:
Move bdb tests here
mysql-test/t/innodb.test:
Move innodb test here
mysql-test/t/multi_update.test:
move bdb/innodb tests to repective test
sql/mysqld.cc:
Allow space in service names
This makes it possible to check origin of binary from the output of 'show variables'
include/mysql_version.h.in:
Added MYSQL_COMPILATION_COMMENT
sql/mysqld.cc:
Added compilation comment to mysqld --version
sql/set_var.cc:
Added compilation comment to 'show variables'
Don't add service name to read config file segments if it's "MySQL"
Fixed possible memory leak when CHANGE USER failed.
include/mysql_com.h:
Change back service name to MySQL (With new, better spelling)
myisam/myisamchk.c:
Improved --help
sql/mysqld.cc:
Don't add service name to read config file segments if it's "MySQL"
sql/sql_parse.cc:
Fixed possible memory leak when CHANGE USER failed.
mysql --install mysql --defualts-file=path-to-file
(Bug #1643)
include/mysql_com.h:
MySQL should install as default service "mysqld"
sql/mysqld.cc:
Fix for problem of installing MySQL as a service with
mysql --install mysql --defualts-file=path-to-file
into mashka.mysql.fi:/home/my/mysql-4.0
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
query_alloc_block_size, query_prealloc_size, range_alloc_block_size,transaction_alloc_block_size and transaction_prealloc_size
Add more checks for "out of memory" detection in range optimization
configure.in:
Added detection of mallinfo
mysql-test/r/variables.result:
Test of new variables
mysql-test/t/variables.test:
Test of new variables
sql/ha_berkeley.cc:
Use init_sql_alloc instead of init_alloc_root for better OOM detection
sql/log_event.cc:
Add new user variables for tuning memory usage
sql/mysql_priv.h:
Add new user variables for tuning memory usage
sql/mysqld.cc:
Add new user variables for tuning memory usage
sql/opt_ft.cc:
Add new user variables for tuning memory usage
sql/opt_ft.h:
Add new user variables for tuning memory usage
sql/opt_range.cc:
Add new user variables for tuning memory usage
Add more checks for out of memory conditions
sql/opt_range.h:
Add new user variables for tuning memory usage
sql/set_var.cc:
Add new user variables for tuning memory usage
sql/sql_acl.cc:
Add new user variables for tuning memory usage
sql/sql_class.h:
Add new user variables for tuning memory usage
sql/sql_delete.cc:
Add new user variables for tuning memory usage
sql/sql_parse.cc:
Add new user variables for tuning memory usage
sql/sql_select.cc:
Add new user variables for tuning memory usage
sql/sql_test.cc:
Add information about memory useage if system supports mallinfo()
sql/sql_udf.cc:
Add new user variables for tuning memory usage
sql/sql_update.cc:
Add new user variables for tuning memory usage
sql/table.cc:
Add new user variables for tuning memory usage
Use forced close of socket to make mysqld shutdown faster when used under valgrind
mysql-test/mysql-test-run.sh:
Added --skip-bdb for valgrind
mysql-test/r/user_var.result:
Extended test for user variables
mysql-test/t/user_var.test:
Extended test for user variables
sql/item_func.cc:
Optimized code for setting user variables with := and fixed some bugs in old code
sql/item_func.h:
Optimized code for setting user variables
sql/log.cc:
Fixed comments
sql/mysqld.cc:
Use forced close of socket to make mysqld shutdown faster when used under valgrind
sql/sql_class.h:
Optimized code for setting user variables
Added TCP/IP read/write timeout for windows
Check on windows if second server is started with same TCP/IP port
BitKeeper/deleted/.del-have_openssl_2.inc~8c9f1a45676b698f:
Delete: mysql-test/include/have_openssl_2.inc
BitKeeper/deleted/.del-have_openssl_2.require~53bbdfc136fb514:
Delete: mysql-test/r/have_openssl_2.require
BitKeeper/deleted/.del-openssl_2.test~f2dfa927f19d14f8:
Delete: mysql-test/t/openssl_2.test
BitKeeper/etc/ignore:
added libmysql/vio_priv.h libmysql_r/vio_priv.h
client/mysql.cc:
vio ssl structure renames
include/violite.h:
Cleanup violite.h interface (move things to vio_priv.h)
libmysql/Makefile.am:
Use vio_priv.h
libmysql/Makefile.shared:
Use vio_priv.h
libmysqld/lib_vio.c:
Added timeout for windows
mysys/my_getopt.c:
Indentaion cleanup
sql/item_cmpfunc.cc:
Remove compiler warnings
sql/item_func.cc:
Remove compiler warnings
sql/mini_client.cc:
vio ssl structure renames
sql/mysqld.cc:
Check on windows if second server is started with same TCP/IP port
sql/net_serv.cc:
Add read/write timeouts for windows
sql/sql_acl.cc:
vio ssl structure renames
sql/sql_show.cc:
vio ssl structure renames
vio/vio.c:
Added timeouts for windows
vio/viosocket.c:
Added timeouts for windows
vio/viossl.c:
Added timeouts for windows
Cleaned up structure element names
vio/viosslfactories.c:
Added timeouts for windows
Cleaned up structure element names
client/mysqltest.c:
Fix that LET can be used with queries that return multiple columns
libmysql/errmsg.c:
Extend socket name to 100 characters in error messages
libmysql/libmysql.c:
Reset some variables to make ensure that we can call mysql_server_init()/mysql_server_end() many times
mysql-test/mysql-test-run.sh:
Set open-files-limit to 1024
mysql-test/r/loaddata.result:
Add test case for LOAD DATA bug report (was not a bug)
mysql-test/r/query_cache.result:
Move test with many tables to separate test
mysql-test/r/select_safe.result:
Make test repeatable
mysql-test/t/loaddata.test:
Add test case for LOAD DATA bug report (was not a bug)
mysql-test/t/query_cache.test:
Move test with many tables to separate test
mysql-test/t/select_safe.test:
Make test repeatable
sql/field.cc:
Portability fix for gcc 3.3
sql/mysqld.cc:
Store in open_files_limit the true number of files we can open (if system supports it)
sql/sql_load.cc:
Safety fix
Set min value of max_allowed_packet to 1024
Fixed problem with UNION's without braces and SQL_CALC_FOUND_ROWS, LIMIT #,#
and ORDER BY...LIMIT
include/m_string.h:
Added memcpy_overlap() to avoid warnings when using valgrind on memcpy(A,A,...)
myisam/mi_create.c:
Fixed comment
myisam/mi_search.c:
Fix warning from valgrind
myisam/mi_write.c:
Indentation fix
mysql-test/mysql-test-run.sh:
Add options handled by general skip- option
mysql-test/r/packet.result:
Update results after change to mysqld (min max_allowed_packet length is now 1024)
mysql-test/r/union.result:
Added testing of UNION with SQL_CALC_FOUND_ROWS
mysql-test/t/packet.test:
Update results after change to mysqld (min max_allowed_packet length is now 1024)
mysql-test/t/union.test:
Added testing of UNION with SQL_CALC_FOUND_ROWS
sql/field.cc:
Fix to remove waarning from valgrind
sql/ha_innodb.cc:
Remove wrong include file
sql/item_cmpfunc.cc:
Safety fix to handle EOM conditions in IN
sql/item_sum.cc:
Fixed prototype for update_field() (argument was alwys 0)
sql/item_sum.h:
Fixed prototype for update_field() (argument was alwys 0)
sql/item_uniq.h:
Fixed prototype for update_field() (argument was alwys 0)
sql/log.cc:
Indentation fix
sql/mysqld.cc:
Set min value of max_allowed_packet to 1024 (to avoid it getting set to 0)
sql/net_serv.cc:
Indentation changes + trivial optimization
sql/sql_select.cc:
Fixed prototype for update_field() (argument was alwys 0)
sql/sql_union.cc:
Fixed problem with UNION's without braces and
- SQL_CALC_FOUND_ROWS
- LIMIT #,#
- ORDER BY ... LIMIT
(Mostly code cleanups)
include/my_sys.h:
Removed not used define
myisam/mi_check.c:
Indentation change
mysql-test/t/rpl_insert_id.test:
Add test if server supports innodb
mysys/mf_format.c:
Remove QUOTE handling from fn_format()
(fn_format() should not have anything to do with quoting things)
sql/log_event.cc:
Removed some unnecessary casts (by changing functions to use const char *)
Cleaned up some error messages to make them shorter and (hopefully) more readable.
Fixed wrong format strings
Restored 'thd->options' on error.
sql/mini_client.cc:
Changed order of include files to remove compilation warning
sql/mysqld.cc:
Add proper quoting of service arguments (don't use fn_format)
sql/slave.cc:
Simple optimization and cleanup.
Changed rewrite_db() and print_slave_db_safe() to use const char* to avoid casting of arguments when calling functions.
Cleanup of some error messages.
sql/slave.h:
Changed protypes to use const char *
sql/sql_acl.cc:
Simple optimization
vio/viosslfactories.c:
Changed order of include files to remove compilation warning
innodb_fast_shutdown CAN take an argument though it was not specified so in mysqld.cc
sql/mysqld.cc:
innodb_fast_shutdown CAN take an argument though it was not specified so in mysqld.cc
mysql-test/t/rpl_flush_log_loop.test:
Add timer to avoid problem when 'flush logs' is executed before we have read all data from master
sql/log.cc:
Better fix for bug #791:
Mark log as LOG_TO_BE_OPENED instead of LOG_CLOSED when it's closed and opened.
sql/mysqld.cc:
Better startup message
sql/slave.cc:
Fix argument to close()
sql/sql_class.h:
Better handling of log.close()
sql/log.cc:
a comment for the future.
sql/mysqld.cc:
if (p) is not needed: fn_ext() always returns a valid pointed; the way
to test if an extension was found is if (*p), not if (p).
But here even if there's no extension, we still want to truncate opt_name
to FN_REFLEN, so we always execute the code.
By design, the test was always 'false' (because we strip the extension before
testing if there's an extension) so log->set_no_rotate never executed.
sql/sql_class.h:
remove set_no_rotate as we don't need it.
a safer way of initing the mutexes in MYSQL_LOG.
is_open() is now always thread-safe.
See each file for details.
sql/handler.cc:
is_open() with locks
sql/item_func.cc:
is_open() with locks
sql/log.cc:
No more 'inited'.
We now always use is_open() in a thread-safe manner.
This simplifies some functions (no more need to test is_open() twice).
sql/log_event.cc:
is_open() with locks
sql/mysqld.cc:
Init mutexes for the global MYSQL_LOG objects.
We care about no_rotate, because we can't do it in open() anymore (because
we don't have 'inited' anymore).
sql/repl_failsafe.cc:
is_open() with locks
sql/slave.cc:
init pthread objects (mutexes, conds) in the constructor of st_relay_log_info.
Some better locking in rotate_relay_log().
sql/sql_base.cc:
is_open() with locks
sql/sql_class.h:
Before, we inited LOCK_log in MYSQL_LOG::open(), so in other places of the code
when we were never 100% sure that it had been inited. For example, if the server
was running without --log-bin, ::open() was not called so the mutex was not
inited. We could detect it with !inited, but not safely as 'inited' was not
protected by any mutex.
So now:
we *always* init the LOCK_log mutex, even if the log is not used. We can't init
the mutex in MYSQL_LOG's constructor, because for global objects like
mysql_bin_log, mysql_log etc, the constructor is called before MY_INIT(), but
safe_mutex depends on MY_INIT(). So we have a new function MYSQL_LOG::init_pthread_objects
which we call in main(), after MY_INIT().
For the relay log, we call this function in the constructor of
st_relay_log_info, which is called before any function tries to
use the relay log (the relay log is always invoked as rli.relay_log).
So now we should be safe in all cases and we don't need 'inited'.
sql/sql_db.cc:
is_open() with locks
sql/sql_delete.cc:
is_open() with locks
sql/sql_insert.cc:
is_open() with locks
sql/sql_load.cc:
is_open() with locks
sql/sql_parse.cc:
is_open() with locks
sql/sql_rename.cc:
is_open() with locks
sql/sql_repl.cc:
is_open() with locks
sql/sql_table.cc:
is_open() with locks
sql/sql_update.cc:
is_open() with locks
Removed double my_thread_end() which caused fatal error on windows if mysqld died on startup
myisam/mi_extra.c:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
mysql-test/r/alter_table.result:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
mysql-test/t/alter_table.test:
Test DISABLE/ENABLE KEY
sql/ha_myisam.cc:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
sql/mysqld.cc:
Removed double my_thread_end() which caused fatal error on windows if mysqld died on startup
sql/sql_table.cc:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
sql/table.cc:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
sql/table.h:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
FLUSH LOGS now rotates relay logs,
and a new variable max_relay_log_size.
Plus a very small bit of code cleaning.
libmysqld/lib_sql.cc:
open_log has no default arguments anymore.
mysql-test/r/rpl_flush_log_loop.result:
result update now that FLUSH LOGS rotates relay logs.
mysql-test/r/rpl_log.result:
result update now that FLUSH LOGS rotates relay logs.
mysql-test/r/rpl_rotate_logs.result:
result update now that max_binlog_size is 4096.
mysql-test/t/rpl_rotate_logs-master.opt:
now max_binlog_size must be a multiple of 4096 (see change in mysqld.cc)
sql/log.cc:
Got rid of default arguments of various MYSQL_LOG methods (the default arguments
made code reading uneasy).
Set max_size in ::init().
New function set_max_size() to set max_size of a MYSQL_LOG on-the-fly.
More DBUG info.
sql/mysql_priv.h:
no defaults in open_log().
New variables max_relay_log_size.
sql/mysqld.cc:
New variable and option max_relay_log_size.
max_binlog_size and max_relay_log_size are multiples of IO_SIZE.
No more default arguments for log functions.
sql/set_var.cc:
New variable max_relay_log_size.
If it is 0, then max_binlog_size will apply to relay logs.
When one of these variables is changed, fix_max_%log_size is called
to update max_size of the binary and/or relay logs.
sql/slave.cc:
New function rotate_relay_log().
sql/slave.h:
New function rotate_relay_log().
sql/sql_class.h:
New member max_size of MYSQL_LOG (for automatic rotation).
New method set_max_size() for setting on-the-fly.
sql/sql_parse.cc:
Flush the relay log in FLUSH LOGS.
so I commit again in a fresh tree.
Fix for bug#763 (Relay_log_space too big by 4 bytes),
plus comments and DBUG_PRINT, and we don't start replication
if --bootstrap.
mysql-test/r/rpl_log.result:
Result update
mysql-test/r/rpl_log_pos.result:
Result update
sql/mysqld.cc:
Don't start replication if in bootstrap mode (bootstrap isn't supposed to have
several threads).
sql/slave.cc:
Fix for bug 763 (Relay_log_space too big by 4 bytes).
A DBUG_PRINT.
sql/sql_acl.cc:
Replaced a return by DBUG_RETURN (happened to find this reading a debug log).
sql/sql_repl.cc:
A comment.
Change optimizer to prefer key lookups before table scan
Change table scans to be done after tables with constrains on scanned table
mysql-test/r/distinct.result:
Update results
mysql-test/r/group_by.result:
Update results
mysql-test/r/heap.result:
Update results
mysql-test/r/join.result:
Update results
mysql-test/r/key_diff.result:
Update results
mysql-test/r/myisam.result:
Update results
mysql-test/r/order_by.result:
Update results
mysql-test/r/select_safe.result:
Update results
mysql-test/t/distinct.test:
Change test to be repeatable
mysql-test/t/join.test:
Change test to be repeatable
mysql-test/t/select_safe.test:
Add tests for MAX_SEEKS_FOR_KEY
sql/handler.h:
Optimize structure for 64 bit machines (and to avoid problems with gdb)
sql/item_cmpfunc.cc:
Initialize not_null_tables_cache properly
sql/mysqld.cc:
Added max_seeks_for_key
sql/set_var.cc:
Added max_seeks_for_key
sql/sql_class.h:
Added max_seeks_for_key
sql/sql_select.cc:
Added max_seeks_for_key
Change optimizer to prefer key lookups before table scan.
Change table scans to be done after tables with constrains on scanned table
include/my_sys.h:
Changed safe_malloc variables to start with sf_
mysys/default.c:
Use safemalloc (as we use dynamic_arrays() that uses it inderectly anyway)
mysys/my_static.c:
Changed safe_malloc variables to start with sf_
mysys/my_static.h:
Changed safe_malloc variables to start with sf_
Changed safemalloc structure to not have to be 8 byte aligned
mysys/safemalloc.c:
Changed safemalloc structure to not have to be 8 byte aligned. (portability fix)
BIG code cleanup
sql/mysqld.cc:
Changed safe_malloc variables to start with sf_
sql/sql_parse.cc:
Changed safe_malloc variables to start with sf_
Added option --gdb
Free memory used by replicate_xxx and binglog_xxx options
mysql-test/mysql-test-run.sh:
Added --gdb when using gdb
mysys/thr_alarm.c:
Safety check
sql/mysql_priv.h:
Don't install signal handler for SIGINT by default
sql/mysqld.cc:
Don't install signal handler for SIGINT by default
Added option --gdb
Free memory used by replicate_xxx and binglog_xxx options.
Add statistics variable for killed threads
sql/repl_failsafe.cc:
Incremented aborted_connects on failure
sql/sql_list.cc:
Added free_list() to free memory on shutdown.
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/lex.h:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/mysqld.cc:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/sql_lex.h:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/sql_parse.cc:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/sql_yacc.yy:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
More debugging variables
Increment aborted_threads in case of killed or too big packet
include/thr_alarm.h:
made prototype more portable
mysys/thr_alarm.c:
Print error if we can't delete an alarm
sql/mysqld.cc:
Statistics variable (for debugging)
sql/net_serv.cc:
statistics variable (for debugging)
sql/sql_parse.cc:
Increment aborted_threads in case of killed or too big packet
Portability fix for Windows 64
include/config-win.h:
Portability fix for Windows 64
include/my_global.h:
Portability fix for Windows 64
include/mysql_version.h.in:
Added [mysqld-base-version] as a default group for the mysqld server
innobase/include/univ.i:
Portability fix for Windows 64
sql/mysqld.cc:
Added [mysqld-base-version] as a default group for the mysqld server
mysql-test/r/errors.result:
Rename: mysql-test/r/err000001.result -> mysql-test/r/errors.result
include/my_global.h:
typedef for future functions that needs string length as an argument
innobase/os/os0file.c:
Added operation to error messages
mysql-test/t/errors.test:
Cleaned up file to new error number standard
mysys/thr_alarm.c:
Made end_thr_alarm() work also with internal alarm thread.
(Not critical for MySQL)
sql/mysqld.cc:
Added sigemptyset() (bug found by valgrind)
Removed some wrong usage of thd when writing variable values
Fixed problem with localtime -> gmt where some times resulted in
different (but correct) timestamps. Now MySQL should use the smallest
possible timestamp value in this case. (Bug 316)
client/mysql.cc:
Fixed problem with prompt when server disconnect. (Bug 356)
client/mysqltest.c:
More debug information
mysql-test/mysql-test-run.sh:
Added support for --timezone in -master.opt
mysql-test/t/raid.test:
Fixed test if raid is enabled
sql/field.cc:
New my_gmt_sec() parameters
sql/mysql_priv.h:
New my_gmt_sec() parameters
sql/mysqld.cc:
Remove LOCK_timezone.
Code cleanup
sql/time.cc:
Fixed problem with localtime -> gmt where some times resulted in
different (but correct) timestamps. Now MySQL should use the smallest
possible timestamp value in this case. (Bug 316)