consisting of pos-review fixes and improvements.
mysql-test/r/distinct.result:
Adjusted to account for pre-sorting of tables before optimiziation.
mysql-test/r/func_group.result:
Adjusted to account for pre-sorting of tables before optimiziation.
mysql-test/r/greedy_optimizer.result:
- Adjusted to account for pre-sorting of tables before optimiziation.
- Removed unnecessary test.
- More comments.
mysql-test/r/select.result:
- Adjusted to account for pre-sorting of tables before optimiziation.
mysql-test/t/greedy_optimizer.test:
- Adjusted to account for pre-sorting of tables before optimiziation.
- Removed unnecessary test.
- More comments.
sql/mysql_priv.h:
Moved function print_plan() to sql_test.cc
sql/sql_select.cc:
- Simplified the recursion in best_extension_by_limited_search()
and aligned it with its pseudo-code.
- Renamed functions to better reflect their semantics.
- Post-review changes of function specifications.
- Moved function print_plan() to sql_test.cc.
sql/sql_test.cc:
Moved function print_plan() to sql_test.cc
statements.
mysql-test/r/sp.result:
Added row_count() test for non-insert/update/delete statement.
mysql-test/t/sp.test:
Added row_count() test for non-insert/update/delete statement.
sql/sql_class.h:
thd->row_count_func must be signed for JDBC/ODBC (can be -1).
sql/sql_parse.cc:
Reset thd->row_count_func to -1 for non-insert/update/delete statements.
mysql-test/r/sp.result:
New test cases for function ROW_COUNT().
mysql-test/t/sp.test:
New test cases for function ROW_COUNT().
sql/item_func.cc:
New Item_func_row_count.
sql/item_func.h:
New Item_func_row_count.
sql/lex.h:
New symbol for function ROW_COUNT().
sql/sql_class.h:
New slot in THD for storing the row_count after insert, delete and update.
sql/sql_delete.cc:
Set thd->row_count_func when deleting.
sql/sql_insert.cc:
Set thd->row_count_func when inserting.
sql/sql_parse.cc:
Stored procedure CALLs send the row count from the last insert, delete or update.
sql/sql_update.cc:
Set thd->row_count_func when updating.
sql/sql_yacc.yy:
New function ROW_COUNT().
mysql-test/r/subselect.result:
Table pre-sorting before optimization makes the optimizer select a different plan, this change fixes the plan.
sql/mysql_priv.h:
Added new status variable last_query_cost that contains the cost of the last compiled query.
sql/mysqld.cc:
* Added new system variable 'plan_search_depth' to control the exhaustiveness of the search for an optimal query plan.
* Added new system variable 'heuristic' to control the use of query optimization heuristic.
* Added new status variable 'last_query_cost' that contains the cost of the last compiled query.
sql/set_var.cc:
* Added new system variable 'plan_search_depth' to control the exhaustiveness of the search for an optimal query plan.
* Added new system variable 'heuristic' to control the use of query optimization heuristic.
sql/sql_class.h:
* Added new system variable 'plan_search_depth' to control the exhaustiveness of the search for an optimal query plan.
* Added new system variable 'heuristic' to control the use of query optimization heuristic.
sql/sql_select.cc:
Added a combined greedy/exhaustive query optimization algorithm.
* The greedy search algorithm is implemented in function 'greedy_search'.
* The exhaustive search with controlled search depth is implemented in function 'find_best_limited_depth', a modification of 'find_best'.
* The selection of the best access path and its cost computation is factored out from 'find_best' into function 'best_access_path'.
* In addition:
- added pre-sorting for the query tables before they get optimized
- factored out the optimization of STRAIGHT_JOIN into a separate procedure
sql/sql_select.h:
Added new field to st_position to support the greedy optimizer.
Added a comment to class JOIN.
sql/sql_show.cc:
Added a case to 'mysqld_show' to print double status variables.
sql/structs.h:
Added a new type of status variables SHOW_DOUBLE
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
VC++Files/sql/mysqld.dsp:
Auto merged
client/Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/r/insert_select.result:
Auto merged
mysql-test/r/join_outer.result:
Auto merged
mysql-test/r/null.result:
Auto merged
mysql-test/r/connect.result:
Auto merged
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/r/mix_innodb_myisam_binlog.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/rpl_change_master.result:
Auto merged
mysql-test/r/rpl_log.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/r/rpl_flush_log_loop.result:
Auto merged
mysql-test/r/rpl_flush_tables.result:
Auto merged
mysql-test/r/rpl_loaddata.result:
Auto merged
mysql-test/r/rpl_loaddata_rule_m.result:
Auto merged
mysql-test/r/rpl_loaddata_rule_s.result:
Auto merged
mysql-test/r/rpl_max_relay_size.result:
Auto merged
mysql-test/r/rpl_reset_slave.result:
Auto merged
mysql-test/r/rpl_temporary.result:
Auto merged
mysql-test/r/rpl_until.result:
Auto merged
mysql-test/r/rpl_user_variables.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/func_sapdb.test:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/rpl_change_master.test:
Auto merged
mysql-test/t/rpl_log.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
netware/BUILD/compile-linux-tools:
Auto merged
netware/BUILD/compile-netware-END:
Auto merged
netware/BUILD/compile-netware-all:
Auto merged
netware/BUILD/compile-netware-standard:
Auto merged
mysql-test/t/rpl_empty_master_crash.test:
Auto merged
mysql-test/t/rpl_error_ignored_table.test:
Auto merged
mysql-test/t/rpl_flush_log_loop.test:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_m.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_s.test:
Auto merged
mysql-test/t/rpl_max_relay_size.test:
Auto merged
mysql-test/t/rpl_openssl.test:
Auto merged
mysql-test/t/rpl_relayrotate-slave.opt:
Auto merged
mysql-test/t/rpl_reset_slave.test:
Auto merged
mysql-test/t/rpl_trunc_binlog.test:
Auto merged
mysql-test/t/rpl_until.test:
Auto merged
mysql-test/t/rpl_user_variables.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/mysql_create_system_tables.sh:
Auto merged
scripts/mysql_fix_privilege_tables.sql:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_create.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/protocol.h:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_acl.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_repl.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql-common/client.c:
Auto merged
tests/client_test.c:
Auto merged
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps3-4.1
mysql-test/r/union.result:
Auto merged
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/log_event.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/log_event.cc:
non_cachable_table flag changed to cacheable_table
sql/repl_failsafe.cc:
non_cachable_table flag changed to cacheable_table
sql/slave.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_acl.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_base.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_cache.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_help.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_insert.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_parse.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_prepare.cc:
renamed DEBUG tag
sql/table.h:
non_cachable_table flag changed to cacheable_table
Fixed problems with group_concat() and HAVING
Updated crash-me values
sql-bench/limits/mysql-4.0.cfg:
Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.0.cfg
include/my_global.h:
Safety fix
libmysqld/Makefile.am:
Portability fix (For AIX 64 bit)
mysql-test/r/func_gconcat.result:
More tests
mysql-test/t/func_gconcat.test:
More tests
sql/field.cc:
Cleanups
sql/init.cc:
moved thread_stack_min to right place
sql/item_sum.cc:
Fixed problems with group_concat() and HAVING
Removed some not needed variables
sql/item_sum.h:
Fixed problems with group_concat() and HAVING
Removed some not needed variables
sql/mysqld.cc:
Moved thread_stack_min to right place to handle case where we didn't get as much stack space as we asked for
sql/sql_parse.cc:
More debugging
sql/sql_select.cc:
Cleanup
sql/sql_yacc.yy:
Fixed handling of Item_group_concat() in having. (Arguments should not be handled as refs)
bug #3342 "SHOW CREATE DATABASE seems to require DROP privilege"
(now it require only SELECT privilege on database)
mysql-test/r/show_check.result:
added test for
bug #3342 "SHOW CREATE DATABASE seems to require DROP privilege"
mysql-test/t/show_check.test:
added test for
bug #3342 "SHOW CREATE DATABASE seems to require DROP privilege"
if doesn't exists or is not writable, then /var/log/mysqld_multi.log, if does not exists
or is not writable, then /tmp/mysqld_multi.log, but only in case the file does not yet
exists in /tmp. Otherwise log will be disabled, unless user explicitely sets it with an
option.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Actually catch pushed warnings.
mysql-test/r/sp.result:
New test case for BUG#2780.
mysql-test/t/sp.test:
New test case for BUG#2780.
sql/sql_error.cc:
Actually attempt to catch pushed warnings when running SPs.
for Bug #2385 CREATE TABLE LIKE lacks locking on source and destination table
BitKeeper/deleted/.del-synchronization-master.opt~265be23ead00949:
Delete: mysql-test/t/synchronization-master.opt
BitKeeper/deleted/.del-have_debug.require~d981522532c711b2:
Delete: mysql-test/r/have_debug.require
BitKeeper/deleted/.del-have_debug.inc~f4dc5160b9912226:
Delete: mysql-test/include/have_debug.inc
mysql-test/r/synchronization.result:
fixed the test for
Bug #2385 CREATE TABLE LIKE lacks locking on source and destination table
mysql-test/t/synchronization.test:
fixed the test for
Bug #2385 CREATE TABLE LIKE lacks locking on source and destination table
sql/sql_table.cc:
deleted test sleep from mysql_create_like_table
Keep track on the default value and use it. (Or NULL, if not declared.)
mysql-test/r/sp.result:
New testcases for BUG#2776.
mysql-test/t/sp.test:
New testcases for BUG#2776.
sql/sp_pcontext.cc:
Initialize local variable default value.
sql/sp_pcontext.h:
New method for saving default value.
sql/sql_yacc.yy:
If DEFAULT is use as a value in SET variable = ... in an SP, actually use the default.
Complex return types were not stored correctly in the mysql.proc table.
mysql-test/r/sp.result:
New testcase for BUG2772.
mysql-test/t/sp.test:
New testcase for BUG2772.
sql/sp_head.cc:
Pick up character set for "returns" types in functions and add it separately,
since it's missed when extracting the type during the parser. (Due to LALR
behaviour.)
sql/sp_head.h:
Save the character set for returns clause in functions.
sql/sql_yacc.yy:
Pick up character set for "returns" types in functions since it's missed otherwise.
(Due to LALR behaviour.)
Don't add -debug to server version if MYSQL_SERVER_PREFIX is used
Indentation cleanups
myisam/mi_write.c:
Indentation cleanup
mysql-test/r/lowercase_table2.result:
Fixed test results
sql/filesort.cc:
Fixed warnings from valgrind (not a bug)
sql/ha_myisam.cc:
Indentation cleanup
sql/mysqld.cc:
Don't add -debug to server if MYSQL_SERVER_PREFIX is used
sql/sql_base.cc:
Indentation cleanup
sql/sql_show.cc:
Fixed typo in comment
sql/sql_table.cc:
Indentation cleanup
sql/sql_parse.cc:
reverting table list to be able to use it in next PS call
sql/sql_rename.cc:
reverting table list to be able to use it in next PS call
tests/client_test.c:
typo fixed
test of crete/drop/rename commands
Backpatching overwrote already backpatched instructions, which made it
skip the hpop instruction; possibly not only a problem for handlers,
but this is one known case when it happened.
mysql-test/r/sp-error.result:
New testcase for BUG#3287
mysql-test/t/sp-error.test:
New testcase for BUG#3287
sql/sp_head.cc:
Made the debug printout of hpush_jump instructions somewhat clearer.
sql/sp_head.h:
Don't backpatch the same instruction more than once.
into mysql.com:/home/my/mysql-4.1
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
'SHOW GRANTS' syntax is added
'SHOW GRANTS FOR CURRENT_USER' syntax is added
'SHOW GRANTS FOR CURRENT_USER()' syntax is added
CURRENT_USER without parens in expressions(SELECT CURRENT_USER;)
mysql-test/r/grant2.result:
WL1368: SHOW GRANTS FOR CURRENT USER
mysql-test/r/grant_cache.result:
WL1368: SHOW GRANTS FOR CURRENT USER
mysql-test/t/grant2.test:
WL1368: SHOW GRANTS FOR CURRENT USER
mysql-test/t/grant_cache.test:
WL1368: SHOW GRANTS FOR CURRENT USER
sql/lex.h:
WL1368: SHOW GRANTS FOR CURRENT USER
sql/sql_yacc.yy:
WL1368: SHOW GRANTS FOR CURRENT USER
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly
include/mysql_com.h:
Fixed compiler warning
libmysqld/emb_qcache.cc:
Removed not used variable
libmysqld/lib_sql.cc:
Removed not used variable
myisam/mi_locking.c:
Added comment
myisam/mi_rnext.c:
Fixed bug in concurrent insert
myisam/mi_rprev.c:
Simple optimization
mysql-test/r/func_gconcat.result:
New tests
mysql-test/t/func_gconcat.test:
New tests
mysql-test/t/func_group.test:
Cleanup
sql-common/client.c:
Removed compiler warning
sql/derror.cc:
Better comments
sql/field.cc:
Removed not used function/variable
sql/field.h:
Removed not needed variable
sql/ha_innodb.cc:
Removed not used function
sql/item.cc:
Fixed compiler warning
sql/item_cmpfunc.cc:
Fixed compiler warning
sql/item_func.cc:
Fixed compiler warning
sql/item_geofunc.cc:
Fixed compiler warning
sql/item_sum.cc:
Fixed bugs in group_concat and added more comments
(Bugs #2695, #3381 and #3319)
- field->abs_offset was not needed
- Wrong assumption of field order in temporary table
- Some not used variables removed
- Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
- Optimized loops
sql/item_sum.h:
Bug fixing and cleanup of group_concat()
sql/log.cc:
Removed wrong comment
sql/log_event.cc:
Removed compiler warning
sql/mysqld.cc:
Set locked_in_memory properly
sql/protocol.cc:
Removed compiler warning
sql/set_var.cc:
Code cleanup
sql/slave.cc:
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
sql/sql_cache.cc:
Removed compiler warnings
sql/sql_derived.cc:
Removed not used variable
sql/sql_insert.cc:
Removed compiler warnings
sql/sql_lex.cc:
Removed not used lable
sql/sql_lex.h:
Removed compiler warnings
sql/sql_parse.cc:
Removed compiler warnings
sql/sql_prepare.cc:
Removed compiler warnings
sql/sql_select.cc:
Removed not used variables
Added function comments
sql/sql_show.cc:
Removed compiler warnings
sql/sql_yacc.yy:
Fix for ORDER BY handling in GROUP_CONCAT()
fixed error code in union test
mysql-test/t/union.test:
right code worr 4.1 error
sql/log_event.cc:
assign non-cachable for Item status for all stack tables for safety
sql/repl_failsafe.cc:
assign non-cachable for Item status for all stack tables for safety
sql/slave.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_acl.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_base.cc:
assign non-cachable for Item status for all stack tables for safety
non-cachable status processing
sql/sql_cache.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_class.cc:
removed ald way to prevent using stack tables for caching Items in PS
sql/sql_class.h:
removed old way to prevent using stack tables for caching Items in PS
sql/sql_help.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_insert.cc:
assign non-cachable for Item status for all stack tables for safety
removed old way to prevent using stack tables for caching Items in PS
sql/table.h:
non-cachable for Item status for tables
fixed outer joins
test of different joins included
sql/item.cc:
for Item_param we have to have value set instead of fave item fixed
sql/sql_base.cc:
fixed PS with outer joins
tests/client_test.c:
test of different types of joins
into sanja.is.com.ua:/home/bell/mysql/bk/work-on-4.1
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/table.h:
Auto merged
fixed aggregate functions in PS (BUG#3360)
mysql-test/r/union.result:
4.1 more correct error
sql/item_cmpfunc.h:
and_conds do not make fix fields
sql/item_sum.cc:
storing/restoring argument of aggregate function for prepared statements
restoring order list of group_concat for safety
sql/item_sum.h:
storing/restoring argument of aggregate function for prepared statements
layout fix
sql/mysql_priv.h:
just declaration
sql/sql_base.cc:
fix_fields() have to be called with temporary memory pool active
sql/sql_parse.cc:
removed hack with item pointer storing
sql/sql_prepare.cc:
debug output added
removed hack with item pointer storing
sql/sql_select.cc:
fix_fields now should be called separately
sql/sql_union.cc:
removed wrong merged check from 4.0 (4.1 have its own protection)
sql/table.h:
removed hack with item pointer storing
tests/client_test.c:
new test fo PS