into mysql.com:/home/jimw/my/mysql-5.0-clean
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/lowercase_table2.result:
Auto merged
mysql-test/r/rpl_failed_optimize.result:
Auto merged
vio/viossl.c:
Auto merged
mysql-test/t/func_str.test:
Merge from 4.1
sql/item_func.cc:
Merge from 4.1
sql/sql_table.cc:
Merge from 4.1
mysql-test/r/func_str.result:
Update results
mysql-test/t/func_str.test:
Add regression tests
sql/item_func.cc:
Handle NULL as first argument to FIELD()
Return an error if default() is used on a local variable.
This is actaully a side-effect of BUG#5967: Stored procedure declared
variable used instead of column (to be fixed later), so this is really a
workaround until that is fixed.
mysql-test/r/sp-error.result:
New test case for BUG#10969.
mysql-test/t/sp-error.test:
New test case for BUG#10969.
sql/item.h:
Get name of local variable for error messages.
sql/sql_yacc.yy:
Return an error if default() is applied on a local SP variable.
Have to catch errors from SELECT when opening a cursor.
mysql-test/r/sp.result:
New test case for BUG#10961.
mysql-test/t/sp.test:
New test case for BUG#10961.
sql/protocol.h:
Init data in Protocol_cursor constructor, for error cases.
sql/sp_head.cc:
Catch "hidden" errors during SELECT when opening a cursor.
Manual merge from 4.1.
mysql-test/r/create.result:
Auto merged
mysql-test/t/create.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Hand merged from 4.0.
sql/lock.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_table.cc:
Auto merged
Stop ignoring name parts and check for validity
mysql-test/r/create.result:
Test for bug#10413
mysql-test/t/create.test:
Test for bug#10413
sql/sql_yacc.yy:
Bug#10413
Stop ignoring parts of fully qualified names.
during creation.
Although it returns an error, consistent with the behaviour for other objects.
(Unclear why we would allow the creation of SPs with truncated names.)
mysql-test/r/sp-error.result:
New test case for BUG#9529.
mysql-test/t/sp-error.test:
New test case for BUG#9529.
sql/sp.cc:
Check SP name length on creation (and drop).
sql/sp.h:
New status code for bad (too long) name.
sql/sql_parse.cc:
New status code for bad (too long) name.
Fixed bug #10982.
item.cc:
Fixed bug #10982. In the function Item_ref::val_decimal
by mistake the method Item_ref::val_decimal was used
instead of Item_ref::val_decimal_result.
sql/item.cc:
Fixed bug #10982. In the function Item_ref::val_decimal
by mistake the method Item_ref::val_decimal was used
instead of Item_ref::val_decimal_result.
mysql-test/r/olap.result:
Fixed bug #10982.
sql/item_cmpfunc.cc:
Put the buff parameter back in check_stack_overrun().
sql/item_func.cc:
Put the buff parameter back in check_stack_overrun().
sql/item_subselect.cc:
Put the buff parameter back in check_stack_overrun().
sql/mysql_priv.h:
Put the buff parameter back in check_stack_overrun().
sql/mysqld.cc:
Style fixes.
sql/sp_head.cc:
Put the buff parameter back in check_stack_overrun().
sql/sql_parse.cc:
Put the buff parameter back in check_stack_overrun(), and added comment explaining the purpose.
sql/table.cc:
Put the buff parameter back in check_stack_overrun().
1.) Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
Used the new option in create_table_from_items().
It is necessary to prevent the SELECT table from being reopend.
It would get new storage assigned for its fields, while the
SELECT part of the command would still use the old (freed) storage.
2.) Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
against a global read lock. This prevents a deadlock in
CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
and avoids the creation of new tables during a global read lock.
3.) Replaced set_protect_against_global_read_lock() and
unset_protect_against_global_read_lock() by
wait_if_global_read_lock() and start_waiting_global_read_lock()
in the INSERT DELAYED handling.
mysql-test/r/create.result:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Added test results.
mysql-test/t/create.test:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Added tests which do not require concurrency.
sql/lock.cc:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
Changed the parameter list.
Removed two unnecessary functions. Their functionality is included in
wait_if_global_read_lock() and start_waiting_global_read_lock().
sql/mysql_priv.h:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Changed the declaration of mysql_lock_tables().
Added definitions for the new options.
sql/sql_acl.cc:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_base.cc:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_handler.cc:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_insert.cc:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Replaced set_protect_against_global_read_lock() and
unset_protect_against_global_read_lock() by
wait_if_global_read_lock() and start_waiting_global_read_lock()
in the INSERT DELAYED handling.
Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_parse.cc:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
against a global read lock. This prevents a deadlock in
CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
and avoids the creation of new tables during a global read lock.
sql/sql_table.cc:
Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Adjusted mysql_lock_tables() calls to the new argument list.
Used the new option in create_table_from_items().
sql/item_sum.cc:
a fix (bug #7405: group_concat with distinct and rollup => ignores distinct in some rows).
Code changed in order to work with rollup extension.
into mysql.com:/opt/local/work/mysql-5.0-7306-new
sql/item_subselect.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_olap.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
"the server side preparedStatement error for LIMIT placeholder",
which moves all uses of LIMIT clause from PREPARE to OPTIMIZE
and later steps.
After-review fixes.
mysql-test/r/group_min_max.result:
Test results fixed for EXPLAINs when using GROUP_MIN_MAX access plan.
sql/item_subselect.cc:
Move setting of the internal LIMIT used for IN/ALL/ANY/EXISTS
subqueries to one place: Item_exists_subselect::fix_length_and_dec().
This implies that unit->select_limit_cnt is not set until the item is
fixed. This is OK, as now LIMIT values are not used until JOIN::optimize.
sql/mysql_priv.h:
setup_tables no longer needs a special flag for the case when
it's called from JOIN::reinit() (we don't need to call setup_tables
between two executions of a correlated subquery).
sql/opt_range.cc:
Fix a glitch in GROUP_MIN_MAX access plan: we should use table metadata,
not field data, to evaluate max_used_key_length, which is then
used for explain.
sql/sp.cc:
- setup_tables signature changed.
sql/sql_base.cc:
- setup_tables no longer needs a special mode for subqueries.
Unused checks were removed.
sql/sql_delete.cc:
- setup_tables signature changed
sql/sql_help.cc:
- setup_tables signature changed
sql/sql_insert.cc:
- setup_tables signature changed
sql/sql_lex.cc:
Consolidate setting of internal LIMIT for IN/ALL/ANY/EXISTS subqeries
in one place, and hence remove it from st_select_lex::test_limit().
sql/sql_lex.h:
Cleanup signature of st_select_lex_unit::init_prepare_fake_select_lex().
sql/sql_load.cc:
- setup_tables signature changed
sql/sql_olap.cc:
- setup_tables signature changed
sql/sql_parse.cc:
- st_select_lex_unit::set_limit() signature changed
sql/sql_select.cc:
Move setting of JOIN::select_limit from JOIN::prepare
to JOIN::optimize. At prepare, limit is unknown yet.
Remove excessive cleanups from JOIN::reinit which were overwriting
join->join_tab[i]->table->used_keys. This fixes the bug which was triggered
by the change in item_subselect.cc.
sql/sql_union.cc:
Class st_select_lex_unit was changed to avoid calls to
st_select_lex_unit::set_limit from places where it may be unknown.
Now unit->select_limit_cnt is set at ::exec().
st_select_lex_unit::init_prepare_fake_select_lex():
- move out set_limit functionality
- remove a few lines of dead code.
st_select_lex_unit::prepare():
- now we don't call set_limit at the time of prepare, so the value
of unit->select_limit_cnt may be unknown here. Use sl->select_limit
instead.
st_select_lex_unit::exec():
- cleanup
- call set_limit explicitly as it has been moved out of
init_prepare_fake_select_lex.
sql/sql_update.cc:
- setup_tables signature changed
databases" and basic handling of errors which happen in triggers.
(The bug itself was fixed by several previous patches).
Fixed bug in multi-delete which were exposed by these tests.
mysql-test/r/trigger.result:
Added test for bug #5894 "Triggers with altered tables cause corrupt
databases" and basic handling of errors which happen in triggers.
mysql-test/t/trigger.test:
Added test for bug #5894 "Triggers with altered tables cause corrupt
databases" and basic handling of errors which happen in triggers.
sql/sql_delete.cc:
multi_delete::send_eof():
Fixed bug which were exposed by testing of basic handling of errors
in triggers. Error which happened in multi_delete::do_deletes()
was wiped out by thd->clear_error() and thus never sent to client
(and this stalled client connection).
Added test cases for bug #7894.
sql_select.cc:
Fixed bug #7894: GROUP BY queries with ROLLUP returned
wrong results for expressions containing group by columns.
The fix ensured correct results by replacement of all
occurrences of group by fields in non-aggregate expressions
for corresponding ref objects and preventing creation of
fields in temporary tables for expression containing group
by fields.
sql/sql_select.cc:
Fixed bug #7894: GROUP BY queries with ROLLUP returned
wrong results for expressions containing group by columns.
The fix ensured correct results by replacement of all
occurrences of group by fields in non-aggregate expressions
for corresponding ref objects and preventing creation of
fields in temporary tables for expression containing group
by fields.
mysql-test/t/olap.test:
Added test cases for bug #7894.
mysql-test/r/olap.result:
Added test cases for bug #7894.
into mysql.com:/home/pem/work/mysql-5.0
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
server"
Bug appears only on Windows platform. Freeing memory in
TMP_TABLE_PARAM::cleanup() allocated by new Copy_fields[0] in
setup_copy_fields() results in memory destruction. In test IF used instead
of CONCAT because IF have more stable crash.
sql/sql_select.cc:
Fix bug #9593 The combination of COUNT, DISTINCT and CONCAT seems to lock the server
mysql-test/t/count_distinct.test:
test for bug #9593 The combination of COUNT, DISTINCT and CONCAT seems to lock the server
mysql-test/r/count_distinct.result:
Test for bug #9593 The combination of COUNT, DISTINCT and CONCAT seems to lock the server
mysql-test/r/federated.result:
added explain results to join test results per Timour's request.
mysql-test/t/federated.test:
Added explain to test per Timour's request
sql/ha_federated.cc:
better comment to explain why we need table->status set to 0
by simply disabling FLUSH for stored functions. (I can't really work.)
mysql-test/r/sp-error.result:
New test case for BUG#8409.
mysql-test/t/sp-error.test:
New test case for BUG#8409.
sql/sql_yacc.yy:
Disable FLUSH for stored functions.
Check in Jan's fix to bug #10746 and also add a note to ::start_stmt() that stored procs in 5.0 call it
sql/ha_innodb.cc:
Check in Jan's fix to bug #10746 and also add a note to ::start_stmt() that stored procs in 5.0 call it
set net->no_send_error to 0 before execution of each element of
multiquery statement to provide the sending of error to client
tests/mysql_client_test.c:
Fix for bug #9992: mysql_next_result hangs on error
test case
results.
Actually a problem when converting decimal to int for user variables.
mysql-test/r/sp.result:
New test case for BUG#9559.
mysql-test/t/sp.test:
New test case for BUG#9559.
sql/item_func.cc:
Don't set the unsigned flag when converting decimal user var to int.