Don't do this test for now: it fails on Mac OSX.
mysql-test/r/show_check.result:
Don't do this test for now: it fails on Mac OSX.
mysql-test/t/show_check.test:
Don't do this test for now: it fails on Mac OSX.
Fix mysql-test failure in the 5.0 tree on Aug 23: label seems to be a reserved word in 5.0, and we to use it a s a column name we must but it inside backticks
mysql-test/t/innodb.test:
Fix mysql-test failure in the 5.0 tree on Aug 23: label seems to be a reserved word in 5.0, and we to use it a s a column name we must but it inside backticks
mysql-test/r/innodb.result:
Fix mysql-test failure in the 5.0 tree on Aug 23: label seems to be a reserved word in 5.0, and we to use it a s a column name we must but it inside backticks
(ok'd by CTO to fix it in 4.0).
Fix to make mysql-test-run work with all Valgrind versions.
mysql-test/mysql-test-run.sh:
fixing mysql-test-run.sh so that it works indifferently with Valgrind 1.x, 2.x
(versions <= 2.0.0 refuse --tool option; versions >=2.1.2 require it; 2.1.0 accepts it).
I hope the shell code is portable enough; anyway Valgrind only runs on Linux...
I tested it with 2.0.0, 2.1.0, 2.1.2.
mysql-test/r/truncate.result:
result update
mysql-test/t/truncate.test:
testing if TRUNCATE resets autoinc counter for temp tables (BUG#5033); testing difference with DELETE FROM.
sql/sql_delete.cc:
in mysql_truncate(), always reset the autoinc counter, as manual says (even if it's a temp table, which was BUG#5033).
mysql-test/r/variables.result:
Test case for BUG#5135, check that setting log_warnings actually works.
mysql-test/t/variables.test:
Test case for BUG#5135, check that setting log_warnings actually works.
sql/mysqld.cc:
Set a max value for log_warnings, so se can set it to something other than 0.
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/view.result:
EXISTS with UNION VIEW creation test
mysql-test/t/view.test:
EXISTS with UNION VIEW creation test
sql/sql_lex.cc:
fixed LIMIT clause printing
mysql-test/r/view.result:
test of error processing found in preparation phase
mysql-test/t/view.test:
test of error processing found in preparation phase
sql/sql_view.cc:
fixed error processing of prepare
* When executing EXPLAIN, do the same as for the query: convert join type to JT_CONST if keyuse array covers all key parts and all of them are constants.
* In remove_const, don't remove conditions that depend on some-const-table and current-table.
mysql-test/r/join_outer.result:
Testcase for bug#5088
mysql-test/t/join_outer.test:
Testcase for bug#5088
We have next problem here:
active_index is wrong in the subselect's handler on the second val_int() call.
Optimizer sees that we can use index-read for that kind of condition,
and matching_cond() (sql/opt_sum.cc) doesn't. I suspect, proper solution is
to add appropriate code to the matching_cond() but now just added
missed initialization.
mysql-test/r/subselect.result:
Appropriate test result
mysql-test/t/subselect.test:
Test case added
sql/records.cc:
index's initialization added
Added test case for bug #4256.
join_outer.result:
Fixed bug #4256.
item_cmpfunc.h:
Fixed inconsistency of values of used_tables_cache and
const_item_cache for Item_func_isnull objects.
This inconsistency caused bug #4256.
sql/item_cmpfunc.h:
Fixed inconsistency of values of used_tables_cache and
const_item_cache for Item_func_isnull objects.
This inconsistency caused bug #4256.
mysql-test/r/join_outer.result:
Fixed bug #4256.
mysql-test/r/null.result:
Added test case for bug #4256.
mysql-test/t/null.test:
Added test case for bug #4256.
into mysql.com:/home/kostja/work/mysql-4.1-4912
sql/item_cmpfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
a second time". The bug was caused by incompatibility of
negations elimination algorithm and PS: during first statement
execute a subtree with negation was replaced with equivalent
subtree without NOTs.
The problem was that although this transformation was permanent,
items of the new subtree were created in execute-local memory.
The patch adds means to check if it is the first execute of a
prepared statement, and if this is the case, to allocate items
in memory of the prepared statement.
The implementation:
- backports Item_arena from 5.0
- adds Item_arena::is_stmt_prepare(),
Item_arena::is_first_stmt_execute().
- deletes THD::allocate_temporary_pool_for_ps_preparing(),
THD::free_temporary_pool_for_ps_preparing(); they
were redundant.
and adds a few invariants:
- thd->free_list never contains junk (= freed items)
- thd->current_arena is never null. If there is no
prepared statement, it points at the thd.
The rest of the patch contains mainly mechanical changes and
cleanups.
mysql-test/r/ps.result:
Test results updated (test case for Bug#4912)
mysql-test/t/ps.test:
A test case for Bug#4912 "mysqld crashs in case a statement is
executed a second time"
sql/item_cmpfunc.cc:
current_statement -> current_arena
sql/item_subselect.cc:
Statement -> Item_arena, current_statement -> current_arena
sql/item_subselect.h:
Item_subselect does not need to save thd->current_statement.
sql/item_sum.cc:
Statement -> Item_arena
sql/item_sum.h:
Statement -> Item_arena
sql/mysql_priv.h:
Statement -> Item_arena
sql/sql_base.cc:
current_statement -> current_arena
sql/sql_class.cc:
- Item_arena
- convenient set_n_backup_statement, restore_backup_statement
(nice idea, Sanja)
sql/sql_class.h:
- Item_arena: backport from 5.0
- allocate_temporary_pool_for_ps_preparing,
free_temporary_pool_for_ps_preparing removed.
sql/sql_derived.cc:
current_statement -> current_arena
sql/sql_lex.cc:
current_statement -> current_arena
sql/sql_parse.cc:
Deploy invariant that thd->free_list never contains junk items
(backport from 5.0).
sql/sql_prepare.cc:
- backporting Item_arena
- no need to allocate_temporary_pool_for_ps_preparing().
sql/sql_select.cc:
Fix for bug#4912 "mysqld crashs in case a statement is
executed a second time": if this is the first execute of
a prepared statement, negation elimination is
done in memory of the prepared statement.
sql/sql_union.cc:
Backporting Item_arena from 5.0.
myisam/Makefile.am:
put zlib at the end (libtool adds the whole bunch of dependencies right after that)
sql/Makefile.am:
put zlib at the end (libtool adds the whole bunch of dependencies right after that)
in a deadlock-free manner. This splits locking the global read lock in two steps.
This fixes a consequence of this bug, known as:
BUG#4953 'mysqldump --master-data may report incorrect binlog position if using InnoDB'
And a test.
sql/handler.cc:
making COMMIT wait if FLUSH TABLES WITH READ LOCK happened.
sql/lock.cc:
an additional stage so that FLUSH TABLES WITH READ LOCK blocks COMMIT:
make_global_read_lock_block_commit():
taking the global read lock is TWO steps (2nd step is optional; without
it, COMMIT of existing transactions will be allowed):
lock_global_read_lock() THEN make_global_read_lock_block_commit().
sql/mysql_priv.h:
new argument to wait_if_global_read_lock()
sql/sql_class.h:
THD::global_read_lock now an uint to reflect the 2 steps of global read lock (does not block COMMIT / does)
sql/sql_db.cc:
update for new prototype
sql/sql_parse.cc:
implementing the two steps of global read lock so that FLUSH TABLES WITH READ LOCK can block COMMIT without deadlocking with COMMITs.
bug#4761 - more validation of hosts
bug#4511 - only non depricated should be saved in config
- fix ConfigInfo::BOOL w.r.t deprication
mysql-test/ndb/ndb_config_2_node.ini:
Removed need of unique filesystem
mysql-test/ndb/ndbcluster.sh:
Removed need of unique filesystem
Add "" around variables for increased portability
ndb/src/common/mgmcommon/ConfigInfo.cpp:
Added checking of hostnames already in InitConfigFileParser
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
Add checking of hostnames when retreiving configuration
ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
Added ndb_%u to filesystempath
ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
Added ndb_%u to filesystempath
ndb/src/kernel/blocks/ndbfs/Filename.cpp:
Added ndb_%u to filesystempath
ndb/src/kernel/blocks/ndbfs/Filename.hpp:
Added ndb_%u to filesystempath
ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
Added ndb_%u to filesystempath
When in find_item_in_list() we are looking for item we should take into account unaliased
names of the fields but only if item with such aliased name is not found.
Also we should ignore aliases when looking for fully specified field.
mysql-test/r/order_by.result:
Fixed wrong (non-standard) test results
Added test case for bug #4302
Added tests for other ambiguos and potentially ambigous cases in order by clause
mysql-test/t/order_by.test:
Fixed wrong (non-standard) test results
Added test case for bug #4302
Added tests for other ambiguos and potentially ambigous cases in order by clause
sql/sql_select.cc:
We should ignore only not_found_item errors when searching for item in find_order_in_list()
to be able to catch ambiguities.
BitKeeper/etc/ignore:
auto-union
include/my_global.h:
Auto merged
mysys/mf_tempfile.c:
Auto merged
mysql-test/r/rpl_heap.result:
Auto merged
mysql-test/t/rpl_heap.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong DELETE in binlog)":
replacing the no_log argument of mysql_create_table() by some safer method
(temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic
DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table
is opened by mysql_create_table().
mysql-test/r/rpl_heap.result:
result update
mysql-test/t/rpl_heap.test:
changing test to test a bug (but anyway, mysql-test-run --manager looks like not working in 4.1 currently,
so this test is never run).
sql/log.cc:
new class Disable_binlog used to temporarily disable binlogging for one thread.
sql/mysql_priv.h:
removing argument no_log from mysql_create_table(); no_log was not perfect as some
binlogging could still be done by open_unireg_entry() for a HEAP table.
sql/sql_class.h:
new class Disable_binlog used to temporarily disable binlogging for one thread.
sql/sql_parse.cc:
removing no_log arg from mysql_create_table()
sql/sql_table.cc:
removing no_log from mysql_create_table(); instead using new class Disable_binlog.
Disabling binlogging in some cases, where the binlogging is done later by some other code
(case of CREATE SELECT and ALTER).