into mysql.com:/home/bk/MERGE/mysql-5.1-merge
client/mysqlbinlog.cc:
Auto merged
client/mysqldump.c:
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/log_event.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
include/my_pthread.h:
Manual merge
into mysql.com:/home/bk/MERGE/mysql-5.1-merge
client/mysqlbinlog.cc:
Auto merged
client/mysqldump.c:
Auto merged
config/ac-macros/ha_ndbcluster.m4:
Auto merged
configure.in:
Auto merged
include/my_global.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
sql/handler.cc:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log.h:
Auto merged
sql/log_event.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/rpl_injector.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/t/mysqldump.test:
Manual merge
sql/log_event.cc:
manual merge
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 perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
mysql-test/r/ndb_update.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item_func.cc:
Auto merged
storage/ndb/src/common/util/File.cpp:
Auto merged
storage/ndb/src/common/util/InputStream.cpp:
Auto merged
storage/ndb/src/common/util/socket_io.cpp:
Auto merged
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
Auto merged
storage/ndb/src/mgmsrv/Services.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
storage/ndb/src/ndbapi/ndberror.c:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
Auto merged
storage/ndb/tools/ndb_condig.cpp:
Auto merged
into polly.local:/home/kaa/src/maint/mysql-5.1-maint
mysql-test/r/func_in.result:
Auto merged
mysql-test/t/func_in.test:
Auto merged
sql/opt_range.cc:
Auto merged
into polly.local:/home/kaa/src/maint/mysql-5.0-maint
mysql-test/r/func_in.result:
Auto merged
mysql-test/t/func_in.test:
Auto merged
sql/opt_range.cc:
Auto merged
mysql-test/t/kill.test:
Move the connect of second connection to just before the query to be killed are sent.
This introduces less variance since the connect time is not included in the delay
we want between send of query and kill.
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-maint
client/mysqltest.c:
Auto merged
mysql-test/Makefile.am:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/sql_class.h:
Auto merged
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
client/mysqltest.c:
Auto merged
mysql-test/t/mysqladmin.test:
Auto merged
sql/sql_class.h:
Auto merged
- Use "mysql_field_count" to determine if there is a need to
call "mysql_store_result"
client/mysqltest.c:
Only call 'mysql_store_result' if 'mysql_field_count' is greater than 0
indicating that this query has a result set. This change is mainly since
if mysql_store_result fails the value returned by mysql_field_count will be reset.
Fix start transaction with hint from ndbapi
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Fix fragments array for API
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Fix fragments array for API
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Fix fragments array for API
- Thanks to Vasil Dimov for the patch!
client/mysqltest.c:
Use my_snprintf to protect against exceeding size of buff
Since variable name and valu might not be null terminated it's necessary to
provide the length of the format specifiers.
into mysql.com:/data0/mysqldev/my/mysql-5.1-release
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/rpl_000015.result:
Auto merged
mysql-test/t/rpl_000015.test:
Auto merged
server-tools/instance-manager/guardian.cc:
Auto merged
into polly.local:/tmp/maint/bug24261/my51-bug24261
mysql-test/r/func_in.result:
Auto merged
mysql-test/t/func_in.test:
Auto merged
sql/opt_range.cc:
Auto merged
into mysql.com:/usr/home/bar/mysql-5.1.b20396
mysql-test/r/rpl_do_grant.result:
Auto merged
mysql-test/t/rpl_do_grant.test:
Auto merged
sql/sql_acl.cc:
Auto merged
into mysql.com:/home/hf/work/embt/my51-embt
libmysqld/lib_sql.cc:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/include/federated.inc:
Auto merged
mysql-test/t/flush_block_commit.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/join.test:
Auto merged
mysql-test/t/status.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
mysql-test/r/flush_block_commit.result:
SCCS merged
into mysql.com:/home/hf/work/embt/my50-embt
libmysqld/lib_sql.cc:
Auto merged
mysql-test/include/federated.inc:
Auto merged
mysql-test/t/flush_block_commit.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/join.test:
Auto merged
mysql-test/t/status.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
mysql-test/mysql-test-run.pl:
merging
mysql-test/r/flush_block_commit.result:
SCCS 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.
Fix bug in previous changeset...causing SR problems with disk
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
fix some more strict-aliasing problems
storage/ndb/src/kernel/blocks/tsman.cpp:
Fix newly introduced bug
client/mysqlbinlog.cc:
Auto merged
mysql-test/r/user_var-binlog.result:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
BitKeeper/deleted/.del-ctype_ucs_binlog.result~280d136b1a0bcf17:
Auto merged
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/r/rpl_stm_charset.result:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
after merge fix.
Bug#4968 "Stored procedure crash if cursor opened on altered table"
Bug#19733 "Repeated alter, or repeated create/drop, fails"
Bug#19182 "CREATE TABLE bar (m INT) SELECT n FROM foo; doesn't work from
stored procedure."
Bug#6895 "Prepared Statements: ALTER TABLE DROP COLUMN does nothing"
Bug#22060 "ALTER TABLE x AUTO_INCREMENT=y in SP crashes server"
Test cases for bugs 4968, 19733, 6895 will be added in 5.0.
Re-execution of CREATE DATABASE, CREATE TABLE and ALTER TABLE
statements in stored routines or as prepared statements caused
incorrect results (and crashes in versions prior to 5.0.25).
In 5.1 the problem occured only for CREATE DATABASE, CREATE TABLE
SELECT and CREATE TABLE with INDEX/DATA DIRECTOY options).
The problem of bugs 4968, 19733, 19282 and 6895 was that functions
mysql_prepare_table, mysql_create_table and mysql_alter_table were not
re-execution friendly: during their operation they used to modify contents
of LEX (members create_info, alter_info, key_list, create_list),
thus making the LEX unusable for the next execution.
In particular, these functions removed processed columns and keys from
create_list, key_list and drop_list. Search the code in sql_table.cc
for drop_it.remove() and similar patterns to find evidence.
The fix is to supply to these functions a usable copy of each of the
above structures at every re-execution of an SQL statement.
To simplify memory management, LEX::key_list and LEX::create_list
were added to LEX::alter_info, a fresh copy of which is created for
every execution.
The problem of crashing bug 22060 stemmed from the fact that the above
metnioned functions were not only modifying HA_CREATE_INFO structure in
LEX, but also were changing it to point to areas in volatile memory of
the execution memory root.
The patch solves this problem by creating and using an on-stack
copy of HA_CREATE_INFO (note that code in 5.1 already creates and
uses a copy of this structure in mysql_create_table()/alter_table(),
but this approach didn't work well for CREATE TABLE SELECT statement).
mysql-test/r/ps.result:
Update test results (Bug#19182, Bug#22060)
mysql-test/t/ps.test:
Add a test case for Bug#19182, Bug#22060 (4.1-only parts)
sql/mysql_priv.h:
LEX::key_list and LEX::create_list were moved to LEX::alter_info.
Update declarations to use LEX::alter_info instead of these two
members.
sql/sql_class.h:
Replace pair<columns, keys> with an instance of Alter_info in
select_create constructor. We create a new copy of Alter_info
each time we re-execute SELECT .. CREATE prepared statement.
sql/sql_insert.cc:
Adjust to a new signature of create_table_from_items.
sql/sql_lex.cc:
Implement Alter_info::Alter_info that would make a "deep" copy
of all definition lists (keys, columns).
sql/sql_lex.h:
Move key_list and create_list to class Alter_info. Implement
Alter_info::Alter_info that can be used with PS and SP.
sql/sql_list.h:
Implement a copy constructor of class List that makes a deep copy
of all list nodes.
sql/sql_parse.cc:
Adjust to new signatures of mysql_create_table, mysql_alter_table,
select_create. Functions mysql_create_index and mysql_drop_index has
become identical after initialization of alter_info was moved to the
parser, and were merged. Flag enable_slow_log was not updated for
SQLCOM_DROP_INDEX, which is a bug. Just like CREATE INDEX, DROP INDEX
is currently done via complete table rebuild and is rightfully a slow
administrative statement.
sql/sql_show.cc:
Adjust mysqld_show_create_db to a new signature.
sql/sql_table.cc:
Adjust mysql_alter_table, mysql_recreate_table, mysql_create_table,
mysql_prepare_table to new signatures.
sql/sql_yacc.yy:
LEX::key_list and LEX::create_list moved to class Alter_info
- Using DATA/INDEX DIRECTORY option on Windows put data/index file into
default directory because the OS doesn't support readlink().
- The procedure for changing data/index file directory is
different under Windows.
- With this fix we report a warning if DATA/INDEX option is used,
but OS doesn't support readlink().
mysql-test/r/windows.result:
- updated result file.
mysql-test/t/windows.test:
- Added test case to verify we get warnings if we specify DATA/INDEX
DIRECTORY on a platform which doesn't support readlink().
sql/sql_parse.cc:
- Added warnings if DATA/INDEX DIRECTORY option is used but not supported
by the target platform.