This patch is an additional code change to the get_str_len_and_pointer
method in log_events.cc. This change is necessary to correct a problem
encountered on 64-bit SUSE where the auto_increment_* variables were
being overwritten. The change corrects a cast mismatch which caused
the problem.
sql/log_event.cc:
BUG#22645 - LC_TIME_NAMES: Statement not replicated
This patch is an additional code change to the get_str_len_and_pointer,
copy_str_and_move methods and the Query_leg_event constructor to
correct a type mismatch encountered during testing on SUSE 64-bit. The patch changes
the data type of the buffer variables was changed to a new typedef
defined in the Log_event class. The new type is:
typedef unsigned char Byte;
The variables changed include:
pos, start, end, and data_buf
sql/log_event.h:
BUG#22645 - LC_TIME_NAMES: Statement not replicated
This patch adds a new type definition to the Log_event class. The new
type is typedef unsigned char Byte. It is used in place of the uchar
and usigned char definitions in the Query_log_event constructor to
eliminate type conversion problems encountere on SUSE 64-bit.
into mysql.com:/usr/home/bar/mysql-5.0.b22645
mysql-test/t/disabled.def:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
mysql-test/r/mysqlbinlog.result:
After merge fix
mysql-test/t/mysqlbinlog.test:
After merge fix
into mysql.com:/home/bk/MERGE/mysql-5.0-merge
client/mysqldump.c:
Auto merged
include/my_pthread.h:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/rpl_timezone.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysys/my_thr_init.c:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
into quant.(none):/ext/mysql/bk/mysql-5.0-bug24507
client/mysqlbinlog.cc:
Auto merged
client/mysqldump.c:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_parse.cc:
Auto merged
The problem was located to lie inside current NPTL pthread_exit()
implementation. Race conditions in this code can lead to segmentation
fault. Hovewer, this can happen only in a race between first thread
calling pthread_exit() and other threads.
Workaround implemented in this patch spawns a dummy thread, which
exits immediately, during thread lib initialization. This will exclude
segment violations when further threads exit.
include/my_pthread.h:
define macro NPTL_PTHREAD_EXIT_BUG which controls whether workaround
in my_thread_global_init() is included or not.
mysys/my_thr_init.c:
Spawn a dummy thread in my_thread_global_init() to initialize pthread
lib internal variables.
Implementing event based replication of LC_TIME_NAMES for 5.0
(as a replacement of previously made ONE_SHOT replication)
mysql-test/r/mysqlbinlog.result:
Fixing results
mysql-test/r/rpl_locale.result:
Fixing results
mysql-test/t/disabled.def:
Enabling rpl_locale
mysql-test/t/mysqlbinlog.test:
Check "mysqlbinlog | mysql" reproduces lc_time_names correctly.
mysql-test/t/rpl_locale.test:
Adding new test: that setting lc_time_names back to en_US works fine.
sql/log_event.cc:
Implementing event based replication of LC_TIME_NAMES for 5.0
(as a replacement of previously made ONE_SHOT replication)
sql/log_event.h:
Adding new Q_*_CODE
Adding "lc_time_names_number" members into Query_log_event and PRINT_EVENT_INFO
Remove DBUG_ENTER in my_end
client/mysqltest.c:
Call 'mysql_server_end' as last function in 'free_used_memory'
Don't use DBUG_VOID_RETURN after mysql_server_end in free_used_memory
Only call mysql_server_end if mysql_server_init has been called
mysql-test/t/disabled.def:
Disabling test in 5.0 temporarily
sql/mysql_priv.h:
Adding number_par agrument to constructor
sql/sql_locale.cc:
Using constructor, instead of structure initialization.
into mysql.com:/usr/home/bar/mysql-5.0.b22645
mysql-test/r/variables.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/log.cc:
Removing one_shot from 5.0.
sql/sql_locale.cc:
After merge fix
sql/set_var.cc:
After merge fix
sql/set_var.h:
After merge fix
Problem: replication of LC_TIME_NAMES didn't work.
Thus, INSERTS or UPDATES using date_format() always
worked with en_US on the slave side.
Fix: adding ONE_SHOT implementation for LC_TIME_NAMES.
mysql-test/r/variables.result:
Adding various tests with LC_TIME_NAMES and
string and numeric constants and expressions.
mysql-test/t/variables.test:
Adding various tests with LC_TIME_NAMES and
string and numeric constants and expressions.
sql/log.cc:
Adding ONE_SHOT trick for lc_time_names.
sql/mysql_priv.h:
Adding new member "number" - for unique locale IDs.
Adding prototype for my_locale_by_number().
sql/set_var.cc:
Modifying lc_time_names variable to understand both:
- string valyes (using locale name)
- number values (using locale IDs)
sql/set_var.h:
- Marking lc_time_names as ONE_SHOT capable.
- Marking lc_time_names as INT_RESULT compatible.
sql/sql_locale.cc:
- adding local IDs
- better layout for locale data declarations
(splitting long lines into short ones)
- adding DBUG_ASSERT into my_locale_by_name()
and moving this function towards the end of file -
after "my_locales" declaration
- adding my_locale_by_number() implementation
sql/sql_parse.cc:
Adding initialization of lc_time_names
to its default value (en_US)
mysql-test/r/rpl_locale.result:
Adding test case
mysql-test/t/rpl_locale.test:
Adding test case
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
Makefile.am:
Auto merged
client/mysqltest.c:
Auto merged
myisam/mi_open.c:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/mysqld.cc:
Auto merged
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
BitKeeper/etc/ignore:
auto-union
Docs/Makefile.am:
Auto merged
Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
include/Makefile.am:
Auto merged
myisam/myisampack.c:
Auto merged
mysql-test/lib/mtr_io.pl:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/view_grant.result:
Auto merged
mysql-test/t/view_grant.test:
Auto merged
sql/handler.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql-common/my_time.c:
Auto merged
sql/sql_handler.cc:
Auto merged
extra/yassl/taocrypt/include/algebra.hpp:
Manual merge with import of upstream yaSSL
Close any statements that might be open before program exit
Close any statments that might be open when calling "disable_ps_protocol"
client/mysqltest.c:
Close any statements that might be open before program exit
Close any statments that might be open when calling "disable_ps_protocol"
into neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
Makefile.am:
Auto merged
client/mysqltest.c:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/mysqld.cc:
Auto merged
- Add CR_CONN_HOST_ERROR to list of errorcode that trigger another connection
attempt in mysqltest
client/mysqltest.c:
Add CR_CONN_HOST_ERROR to errorcodes that trigger a reconnect
fixed a valgrind warning
type_varchar.test:
fixed a valgrind warning
mysql-test/t/type_varchar.test:
fixed a valgrind warning
sql/item_func.cc:
fixed a valgrind warning
If --srcdir and --windows is given, check if error message file
is in source or build tree (bug#24557)
Makefile.am:
Cleaned up "ali_check" target, to satisfy "distcleancheck" (bug#24557)
mysql_install_db.sh:
Added --srcdir=DIR option, used from top Makefile.am in dist-hook
target, to find "fill_help_tables.sql" in VPATH build (bug#24557)
Makefile.am:
Work around problem with "distcleancheck", "sql_yacc.cc" might be in both
the source and build tree.
Call "mysql_install_db" with new option --srcdir, to enable the script
to find all that is needed, if source and build directory is not the same
(bug#24557)
scripts/mysql_install_db.sh:
If --srcdir and --windows is given, check if error message file
is in source or build tree (bug#24557)
Makefile.am:
Work around problem with "distcleancheck", "sql_yacc.cc" might be in both
the source and build tree.
Call "mysql_install_db" with new option --srcdir, to enable the script
to find all that is needed, if source and build directory is not the same
(bug#24557)
include/Makefile.am:
Cleaned up "ali_check" target, to satisfy "distcleancheck" (bug#24557)