Now we are using time zone abbreviations in debug builds or in utlities only.
Tried to remove warnings generated by compiler by using more proper types for
members of time zone describing structures. Removed unused variables.
Fixed test_time to be able to build on FreeBSD without much problems.
Portability fix: resolved ambiguity of abs() function.
(enum_shutdown_level is going to replace enum killed_state in 5.0).
VC++Files/winmysqladmin/mysql_com.h:
putting in place the 2 types of KILL of 5.0
include/mysql_com.h:
putting in place the two types of KILL of 5.0
Updated tests
After merge fix
mysql-test/r/func_time.result:
Updated tests
sql/field.cc:
After merge fix
Removed compiler warning
sql/field.h:
Field_geom should have same max_length as Field_blob
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
include/my_global.h:
Auto merged
innobase/row/row0ins.c:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
innobase/fil/fil0fil.c:
merge (Use heikki's code)
Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
client/mysqltest.c:
Added MAX_VAR_NAME which was lost in merge
Added more debugging
Fixed bug in 'eval'
innobase/data/data0type.c:
After merge fix
innobase/fil/fil0fil.c:
After merge fix
innobase/log/log0recv.c:
After merge fix
myisam/mi_unique.c:
Better checksum handling
mysql-test/r/func_time.result:
Return NULL if a time argument is given to date_add()
mysql-test/r/rpl_free_items.result:
After merge fix
mysql-test/r/rpl_get_lock.result:
Test was depending on when server was restarted.
mysql-test/r/type_date.result:
After merge fix
mysql-test/r/type_decimal.result:
After merge fix
mysql-test/t/func_time.test:
Removed comment that is not needed anymore
(After Dimitri's timezone patch is pushed, we should get a warning for the date_add(time...) entry)
mysql-test/t/rpl_get_lock.test:
Test was depending on when server was restarted.
mysql-test/t/type_date.test:
Addded missing explanation for bug
netware/mysqld_safe.c:
Removed end \r
Run program through indent-ex to get MySQL indentation
sql-common/client.c:
After merge fix
sql/field.cc:
Fixed that get_date(time) gives a warning
sql/field.h:
After merge fix
sql/net_serv.cc:
More debugging (if DEBUG_DATA_PACKETS is set)
sql/sql_class.cc:
Removed compiler warning
sql/table.cc:
Better comment
mysql-test/r/innodb_cache.result:
test of rollback one statement in transaction
mysql-test/t/innodb_cache.test:
test of rollback one statement in transaction
sql/handler.cc:
clear changed tables list only for total roll back
Won't be pushed as is - separate email sent for internal review.
WL#1717 "binlog-innodb consistency".
Now when mysqld starts, if InnoDB does a crash recovery, we use the binlog name
and position retrieved from InnoDB (corresponding to the last transaction
successfully committed by InnoDB) to cut any rolled back transaction from
the binary log. This is triggered by the --innodb-safe-binlog option.
Provided you configure mysqld to fsync() InnoDB at every commit (using
flush_log_at_trx_commit) and to fsync() the binlog at every write
(using --sync-binlog=1), this behaviour guarantees that a master always has
consistency between binlog and InnoDB, whenever the crash happens.
6 tests to verify that it works.
client/mysqltest.c:
New command require_os (only "unix" accepted for now).
innobase/include/trx0sys.h:
when InnoDB does crash recovery, we now save the binlog coords it prints, into variables for later use.
innobase/trx/trx0sys.c:
when InnoDB does crash recovery, we now save the binlog coords it prints, into variables for later use.
mysql-test/mysql-test-run.sh:
The tests which check that the binlog is cut at restart, need to not delete those binlogs, of course.
And not delete replication info, so that we can test that the slave does not receive anything
wrong from the cut binlog.
sql/ha_innodb.cc:
methods to read from InnoDB the binlog coords stored into it
sql/ha_innodb.h:
ethods to read from InnoDB the binlog coords stored into it
sql/log.cc:
Added my_sync() when we create a binlog (my_sync of the binlog and of the index file);
this is always done, whether --sync-binlog or not (binlog creation is rare, so no speed
problem, and I like to have the existence of the binlog always reliably recorded, even if
later content is not).
If --crash-binlog-innodb, crash between the binlog write and the InnoDB commit.
New methods:
- report_pos_in_innodb() to store the binlog name and position into InnoDB (used only when
we create a new binlog: at startup and at FLUSH LOGS)
- cut_spurious_tail() to possibly cut the tail of a binlog based on the info we read
from InnoDB (does something only if InnoDB has just done a crash recovery).
sql/mysql_priv.h:
new option, to crash (use for testing only)
sql/mysqld.cc:
New option --innodb-safe-binlog and --crash-binlog-innodb (the latter is for testing, it makes mysqld crash).
Just after opening the logs and opening the storage engines, cut any wrong statement from the binlog, based
on info read from InnoDB.
sql/sql_class.h:
new methods for MYSQL_LOG.
at each 'make' invocation (pushing as two devs tested that the patch is ok).
Makefile.am:
Fix for bug in build scripts making everything to be reconfigured
at each 'make' invocation.
mysql-test/r/func_regexp.result:
test of cleaning regex in PS
mysql-test/t/func_regexp.test:
test of cleaning regex in PS
sql/item_cmpfunc.cc:
cleanup for Item_func_regex
sql/item_cmpfunc.h:
cleanup for Item_func_regex
InnoDB with UNIV_MEM_DEBUG did not compile because a global variable was forgotten when we put back mem_print_info() functions 2 days ago; add that variable
innobase/mem/mem0dbg.c:
InnoDB with UNIV_MEM_DEBUG did not compile because a global variable was forgotten when we put back mem_print_info() functions 2 days ago; add that variable
mysqld >=4.1.3 will however understand shutdown requests sent by clients <4.1.3.
And mysqld <4.1.3 will understand shutdown requests sent by clients >=4.1.3
(it will ignore the level). Those shutdown level are just PLACEHOLDERS now.
So this change is just to make the 4.1 API suitable before it is frozen. Later
we will actually implement the shutdown levels.
VC++Files/winmysqladmin/main.cpp:
2nd argument to mysql_shutdown()
VC++Files/winmysqladmin/mysql.h:
2nd argument to mysql_shutdown()
VC++Files/winmysqladmin/mysql_com.h:
Several types of shutdown now.
include/mysql_com.h:
SHUTDOWN_DEFAULT is now 0 instead of 255, this saves one test in sql_parse.cc
libmysql/libmysql.c:
correcting mistake (how come that my tests still all worked with this? - should recheck, for curiosity).
sql/sql_parse.cc:
with SHUTDOWN_DEFAULT==0, no need for testing packet_length.
Improve documentation of mach_*write_*compressed()
mtr0log.ic, mtr0log.h:
Improve documentation of mlog_write_initial_log_record_fast()
innobase/include/mtr0log.h:
Improve documentation of mlog_write_initial_log_record_fast()
innobase/include/mtr0log.ic:
Improve documentation of mlog_write_initial_log_record_fast()
innobase/include/mach0data.h:
Improve documentation of mach_*write_*compressed()
innobase/include/mach0data.ic:
Improve documentation of mach_*write_*compressed()