into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/t/union.test:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/func_group.result:
Merge manually
mysql-test/t/func_group.test:
Merge manually
into bodhi.local:/opt/local/work/mysql-5.0-runtime-merge
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/sp.result:
Manual merge.
mysql-test/r/udf.result:
Manual merge.
mysql-test/t/sp.test:
Manual merge.
mysql-test/t/udf.test:
Manual merge.
into bodhi.local:/opt/local/work/mysql-5.0-runtime-merge
include/mysql.h:
Auto merged
include/sql_common.h:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/t/udf.test:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/ps.result:
Manual merge.
mysql-test/r/sp.result:
Manual merge.
mysql-test/t/ps.test:
Manual merge.
mysql-test/t/sp.test:
Manual merge.
sql/sql_prepare.cc:
Manual merge.
sql/table.cc:
Manual merge.
tests/mysql_client_test.c:
Manual merge.
Post review changes for bug#19862.
sql/sql_select.cc:
Post review changes for bug#19862.
sql/item_func.h:
Post review changes for bug#19862.
sql/item_func.cc:
Post review changes for bug#19862.
sql/item.h:
Post review changes for bug#19862.
When there is no index defined filesort is used to sort the result of a
query. If there is a function in the select list and the result set should be
ordered by it's value then this function will be evaluated twice. First time to
get the value of the sort key and second time to send its value to a user.
This happens because filesort when sorts a table remembers only values of its
fields but not values of functions.
All functions are affected. But taking into account that SP and UDF functions
can be both expensive and non-deterministic a temporary table should be used
to store their results and then sort it to avoid twice SP evaluation and to
get a correct result.
If an expression referenced in an ORDER clause contains a SP or UDF
function, force the use of a temporary table.
A new Item_processor function called func_type_checker_processor is added
to check whether the expression contains a function of a particular type.
mysql-test/t/udf.test:
Added test case for bug#19862: Sort with filesort by function evaluates function twice
mysql-test/t/sp.test:
Added test case for bug#19862: Sort with filesort by function evaluates function twice
mysql-test/r/sp.result:
Added test case for bug#19862: Sort with filesort by function evaluates function twice
mysql-test/r/udf.result:
Added test case for bug#19862: Sort with filesort by function evaluates function twice
sql/sql_select.cc:
Fixed bug#19862: Sort with filesort by function evaluates function twice
If an expression referenced in an ORDER clause contains a SP or UDF
function, force the use of a temporary table.
sql/item_func.h:
Fixed bug#19862: Sort with filesort by function evaluates function twice
A new Item_processor function called func_type_checker_processor is added
to check whether the expression contains a function of a particular type.
sql/item.h:
Fixed bug#19862: Sort with filesort by function evaluates function twice
A new Item_processor function called func_type_checker_processor is added
to check whether the expression contains a function of a particular type.
sql/item_func.cc:
Fixed bug#19862: Sort with filesort by function evaluates function twice
A new Item_processor function called func_type_checker_processor is added
to check whether the expression contains a function of a particular type.
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sql_class.h:
Auto merged
client/mysql.cc:
Auto merged
client/sql_string.h:
Auto merged
configure.in:
Auto merged
myisam/mi_create.c:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_string.h:
Auto merged
sql/table.cc:
Auto merged
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18630
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
context.
Routine arguments were evaluated in the security context of the routine
itself, not in the caller's context.
The bug is fixed the following way:
- Item_func_sp::find_and_check_access() has been split into two
functions: Item_func_sp::find_and_check_access() itself only
finds the function and check that the caller have EXECUTE privilege
on it. New function set_routine_security_ctx() changes security
context for SUID routines and checks that definer have EXECUTE
privilege too.
- new function sp_head::execute_trigger() is called from
Table_triggers_list::process_triggers() instead of
sp_head::execute_function(), and is effectively just as the
sp_head::execute_function() is, with all non-trigger related code
removed, and added trigger-specific security context switch.
- call to Item_func_sp::find_and_check_access() stays outside
of sp_head::execute_function(), and there is a code in
sql_parse.cc before the call to sp_head::execute_procedure() that
checks that the caller have EXECUTE privilege, but both
sp_head::execute_function() and sp_head::execute_procedure() call
set_routine_security_ctx() after evaluating their parameters,
and restore the context after the body is executed.
mysql-test/r/sp-security.result:
Add test case for bug#18630: Arguments of suid routine calculated
in wrong security context.
mysql-test/t/sp-security.test:
Add result for bug#18630: Arguments of suid routine calculated
in wrong security context.
sql/item_func.cc:
Do not change security context before executing the function, as it
will be changed after argument evaluation.
Do not change security context in Item_func_sp::find_and_check_access().
sql/item_func.h:
Change prototype for Item_func_sp::find_and_check_access().
sql/sp_head.cc:
Add set_routine_security_ctx() function.
Add sp_head::execute_trigger() method.
Change security context in sp_head::execute_trigger(), and in
sp_head::execute_function() and sp_head::execute_procedure()
after argument evaluation.
Move pop_all_cursors() call to sp_head::execute().
sql/sp_head.h:
Add declaration for sp_head::execute_trigger() and
set_routine_security_ctx().
sql/sql_parse.cc:
Do not change security context before executing the procedure, as it
will be changed after argument evaluation.
sql/sql_trigger.cc:
Call new sp_head::execute_trigger() instead of
sp_head::execute_function(), which is responsible to switch
security context.
into zippy.(none):/home/cmiller/work/mysql/merge/mysql-4.1
client/sql_string.h:
Auto merged
sql/item_func.h:
Auto merged
sql/sql_string.h:
Auto merged
configure.in:
Null merge.
sql/item_strfunc.cc:
Null merged
On exactly-sized Strings, the String::c_ptr() function peeked beyond the
end of the buffer, possibly into unititialized space to see whether the
buffer was NUL-terminated.
In a place that did peek improperly, we now use a c_ptr_safe() function,
which doesn't peek where it shouldn't.
client/sql_string.h:
Back-port String::c_ptr_safe().
sql/item_func.h:
Describe side-effect behavior.
sql/item_strfunc.cc:
Use the "_safe" version of c_ptr to avoid looking for a terminating
NUL character outside the initialized memory area. Valgrind hates it
when one does that, and it theoretically could lead to a SEGV.
sql/sql_string.h:
Back-port String::c_ptr_safe().
In some functions dealing with strings and character sets, the wrong
pointers were saved for restoration in THD::rollback_item_tree_changes().
This could potentially cause random corruption or crashes.
Fixed by passing the original Item ** locations, not local stack copies.
Also remove unnecessary use of default arguments.
sql/item.cc:
Function agg_item_charsets() now handles non-consequtive Item *'s.
sql/item.h:
Remove use of default argument.
sql/item_cmpfunc.cc:
Remove use of default argument.
sql/item_func.cc:
Remove use of default argument.
sql/item_func.h:
Function agg_item_charsets() now handles non-consequtive Item *'s.
sql/item_strfunc.cc:
Pass original Item **'s to agg_arg_charsets(), not local copies, to ensure
proper restoration in THD::rollback_item_tree_changes().
sql/item_sum.cc:
Remove use of default argument.
- Add unsigned flag to user_var_entry, used when 'type' is INT_RESULT
- Propagate unsigned flag from the query executed by Item_single_row_subselect
mysql-test/r/user_var.result:
Update test results
mysql-test/t/user_var.test:
Add test case
sql/item_func.cc:
Add unsigned_flag to user_var_entry. Used when 'type' is INT_RESULT
Pass unsigned_flag to 'update_hash' if type is INT_RESULT
sql/item_func.h:
Removed unused variable save_buff
Add parameter unsigned_arg to 'update_hash'
sql/item_subselect.cc:
Propagate unsigned_flag to Item_singlerow_subselect from the items in the select to the cached items.
sql/sql_class.h:
Add unsigned_flag to user_var_entry. Used when 'type' is INT_RESULT
into mysql.com:/opt/local/work/mysql-5.0-runtime-merge
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/im_options_set.result:
Auto merged
mysql-test/r/im_options_unset.result:
Auto merged
mysql-test/r/trigger-grant.result:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
from within triggers
Add support for passing NEW.x as INOUT and OUT parameters to stored
procedures. Passing NEW.x as INOUT parameter requires SELECT and
UPDATE privileges on that column, and passing it as OUT parameter
requires only UPDATE privilege.
mysql-test/r/sp-error.result:
Update the result for new message.
mysql-test/r/trigger-grant.result:
Add result for bug#14635.
mysql-test/r/trigger.result:
Add result for bug#14635.
mysql-test/t/trigger-grant.test:
Add test case for bug#14635.
mysql-test/t/trigger.test:
Add test case for bug#14635.
sql/item.cc:
Add implementations of set_value() and set_required_privilege() methods
of Settable_routine_parameter interface.
Use Item_trigger_field::want_privilege instead of
Item_trigger_field::access_type.
Reset privileges on Item_trigger_field::cleanup().
sql/item.h:
Add interface class Settable_routine_parameter and interface query
method to Item class. Item_splocal and Item_trigger_field implement
this interface.
For Item_trigger_field:
- add read_only attribute and is_read_only() method.
- remove access_type and add original_privilege and want_privilege
instead.
- add set_value() method.
- add reset_privilege() method.
sql/item_func.cc:
Add implementations of set_value() method of Settable_routine_parameter
interface.
sql/item_func.h:
Item_func_get_user_var implements Settable_routine_parameter interface.
sql/share/errmsg.txt:
Update english ER_SP_NOT_VAR_ARG message.
sql/sp_head.cc:
Use Settable_routine_parameter interface for parameter update.
sql/sql_yacc.yy:
Set read_only and want_privilege members in Item_trigger_field
appropriately. For NEW.x trigger variable used in left-hand-side
of SET statement the latter is set to UPDATE_ACL, otherwise it is
set to SELECT_ACL (but see Item_trigger_field::set_required_privilege(),
where it may be updated to different value).
CONNECTION_ID() was implemented as a constant Item, i.e. an instance of
Item_static_int_func class holding value computed at creation time.
Since Items are created on parsing, and trigger statements are parsed
on table open, the first connection to open a particular table would
effectively set its own CONNECTION_ID() inside trigger statements for
that table.
Re-implement CONNECTION_ID() as a class derived from Item_int_func, and
compute connection_id on every call to fix_fields().
mysql-test/r/trigger.result:
Add result for bug#16461.
mysql-test/t/trigger.test:
Add test case for bug#16461.
sql/item.cc:
Remove now unused class Item_static_int_func.
sql/item.h:
Remove now unused class Item_static_int_func.
sql/item_create.cc:
Use new implementation of CONNECTION_ID().
sql/item_func.cc:
Re-implement CONNECTION_ID() as Item_func_connection_id
(was Item_static_int_func). Set max_length to 10, as it was before.
Compute connection_id dynamically on every call to fix_fields().
sql/item_func.h:
Re-implement CONNECTION_ID() as Item_func_connection_id
(was Item_static_int_func).
produce wrong data
By default Item_sp_func::val_str() returns string from it's result_field
internal buffer. When grouping is present Item_copy_string is used to
store SP function result, but it doesn't additionally buffer the result.
When the next record is read, internal buffer is overwritten, due to
this Item_copy_string::val_str() will have wrong data. Thus producing
weird query result.
The Item_func_sp::val_str() now makes a copy of returned value to prevent
occasional corruption.
mysql-test/t/sp.test:
Added test case for bug#13575: SP funcs in select with distinct/group and order by can
produce wrong data
mysql-test/r/sp.result:
Added test case for bug#13575: SP funcs in select with distinct/group and
order by can produce wrong data
sql/item_func.h:
Fixed bug#13575: SP funcs in select with distinct/group and order by can
produce wrong data
The Item_func_sp::val_str() now makes a copy of returned value to prevent
occasinal corruption.
Fixed that fulltext query + union results in unexpected behaviour.
sql/item_func.h:
Remove access to table object from cleanup() as the table object
may have been dropped earlier (In case of temporary tables or of
close_thread_tables() is run before cleanup())
This fixed a bug with access to already freed memory
sql/sql_base.cc:
Reset variables used by fulltext
MATCH and FULLTEXT
Fixed that fulltext query using PS results in unexpected behaviour
when executed 2 or more times.
mysql-test/r/fulltext.result:
Testcase for BUG#14496.
mysql-test/t/fulltext.test:
Testcase for BUG#14496.
sql/item_func.h:
In Item_func_match::cleanup() always reset ft_handler to 0.
according to the standard.
The idea is to use Field-classes to implement stored routines
variables. Also, we should provide facade to Item-hierarchy
by Item_field class (it is necessary, since SRVs take part
in expressions).
The patch fixes the following bugs:
- BUG#8702: Stored Procedures: No Error/Warning shown for inappropriate data
type matching;
- BUG#8768: Functions: For any unsigned data type, -ve values can be passed
and returned;
- BUG#8769: Functions: For Int datatypes, out of range values can be passed
and returned;
- BUG#9078: STORED PROCDURE: Decimal digits are not displayed when we use
DECIMAL datatype;
- BUG#9572: Stored procedures: variable type declarations ignored;
- BUG#12903: upper function does not work inside a function;
- BUG#13705: parameters to stored procedures are not verified;
- BUG#13808: ENUM type stored procedure parameter accepts non-enumerated
data;
- BUG#13909: Varchar Stored Procedure Parameter always BINARY string (ignores
CHARACTER SET);
- BUG#14161: Stored procedure cannot retrieve bigint unsigned;
- BUG#14188: BINARY variables have no 0x00 padding;
- BUG#15148: Stored procedure variables accept non-scalar values;
mysql-test/r/ctype_ujis.result:
Explicitly specify correct charset.
mysql-test/r/schema.result:
Drop our test database to not affect this test if some test
left it cause of failure.
mysql-test/r/show_check.result:
Drop our test database to not affect this test if some test
left it cause of failure.
mysql-test/r/skip_name_resolve.result:
Ignore columns with unpredictable values.
mysql-test/r/sp-big.result:
Add cleanup statement.
mysql-test/r/sp-dynamic.result:
Add cleanup statements.
mysql-test/r/sp.result:
Update result file.
mysql-test/r/sum_distinct-big.result:
Update result file.
mysql-test/r/type_newdecimal-big.result:
Update result file.
mysql-test/t/ctype_ujis.test:
Explicitly specify correct charset.
mysql-test/t/schema.test:
Drop our test database to not affect this test if some test
left it cause of failure.
mysql-test/t/show_check.test:
Drop our test database to not affect this test if some test
left it cause of failure.
mysql-test/t/skip_name_resolve.test:
Ignore columns with unpredictable values.
mysql-test/t/sp-big.test:
Add cleanup statement.
mysql-test/t/sp-dynamic.test:
Add cleanup statements.
mysql-test/t/sp.test:
Non-scalar values prohibited for assignment to SP-vars;
polishing.
mysql-test/t/type_newdecimal-big.test:
Update type specification so that the variables
can contain the large values used in the test.
sql/field.cc:
Extract create_field::init() to initialize an existing
instance of create_field from new_create_field().
sql/field.h:
Extract create_field::init() to initialize an existing
instance of create_field from new_create_field().
sql/item.cc:
- Introduce a new class: Item_sp_variable -- a base class
of stored-routine-variables classes;
- Introduce Item_case_expr -- an Item, which is used to access
to the expression of CASE statement;
sql/item.h:
- Introduce a new class: Item_sp_variable -- a base class
of stored-routine-variables classes;
- Introduce Item_case_expr -- an Item, which is used to access
to the expression of CASE statement;
sql/item_func.cc:
Pass the Field (instead of Item) for the return value of
a function to the function execution routine.
sql/item_func.h:
Pass the Field (instead of Item) for the return value of
a function to the function execution routine.
sql/mysql_priv.h:
Move create_virtual_tmp_table() out of sql_select.h.
sql/sp.cc:
Use create_result_field() instead of make_field().
sql/sp_head.cc:
- Add a function to map enum_field_types to Item::Type;
- Add sp_instr_push_case_expr instruction -- an instruction
to push CASE expression into the active running context;
- Add sp_instr_pop_case_expr instruction -- an instruction
to pop CASE expression from the active running context;
- Adapt the SP-execution code to using Fields instead of Items
for SP-vars;
- Use create_field structure for field description instead of
a set of members.
sql/sp_head.h:
- Add a function to map enum_field_types to Item::Type;
- Add sp_instr_push_case_expr instruction -- an instruction
to push CASE expression into the active running context;
- Add sp_instr_pop_case_expr instruction -- an instruction
to pop CASE expression from the active running context;
- Adapt the SP-execution code to using Fields instead of Items
for SP-vars;
- Use create_field structure for field description instead of
a set of members.
sql/sp_pcontext.cc:
- Change rules to assign an index of SP-variable: use
transparent index;
- Add an operation to retrieve a list of defined SP-vars
from the processing context recursively.
sql/sp_pcontext.h:
- Change rules to assign an index of SP-variable: use
transparent index;
- Add an operation to retrieve a list of defined SP-vars
from the processing context recursively.
sql/sp_rcontext.cc:
- Change rules to assign an index of SP-variable: use
transparent index;
- Use a tmp virtual table to store SP-vars instead of Items;
- Provide operations to work with CASE expresion.
sql/sp_rcontext.h:
- Change rules to assign an index of SP-variable: use
transparent index;
- Use a tmp virtual table to store SP-vars instead of Items;
- Provide operations to work with CASE expresion.
sql/sql_class.cc:
- Reflect Item_splocal ctor changes;
- Item_splocal::get_offset() has been renamed to get_var_idx().
sql/sql_class.h:
Polishing.
sql/sql_parse.cc:
Extract create_field::init() to initialize an existing
instance of create_field from new_create_field().
sql/sql_select.cc:
Take care of BLOB columns in create_virtual_tmp_table().
sql/sql_select.h:
Move create_virtual_tmp_table() out of sql_select.h.
sql/sql_trigger.cc:
Use boolean constants for boolean type instead of numerical ones.
sql/sql_yacc.yy:
Provide an instance of create_field for each SP-var.
mysql-test/include/sp-vars.inc:
The definitions of common-procedures, which are created
under different circumstances.
mysql-test/r/sp-vars.result:
Result file for the SP-vars test.
mysql-test/sp-vars.test:
A new test for checking SP-vars functionality.
"Item_date_add_interval needs to have the int_type member as Public".
As explained in the bug report, this change is is to help http://search.cpan.org/~philips/DBIx-MyParse-0.20/
So please keep those members public.
sql/item_func.h:
declaring some class members public for BUG#12377
sql/item_strfunc.h:
declaring some class members public for BUG#12377
sql/item_timefunc.h:
declaring some class members public for BUG#12377
into mysql.com:/opt/local/work/mysql-5.0-root
BitKeeper/etc/ignore:
auto-union
include/my_sys.h:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/ctype_ujis.test:
Auto merged
sql/ha_federated.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/log.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
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_lex.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
Fixed problems in test suite where some test failed
Fixed access to not initialized memory in federated
Fixed access to not initialized memory when using BIT fields in internal temporary tables
BitKeeper/etc/ignore:
added libmysqld/sql_cursor.h
mysql-test/r/information_schema.result:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middlecd
mysql-test/r/information_schema_inno.result:
Remove used tables at start
mysql-test/r/multi_statement.result:
Remove used tables at start
mysql-test/r/temp_table.result:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/r/type_bit.result:
More tests
mysql-test/t/information_schema.test:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/t/information_schema_inno.test:
Remove used tables at start
mysql-test/t/multi_statement.test:
Remove used tables at start
mysql-test/t/temp_table.test:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/t/type_bit.test:
More tests
mysql-test/valgrind.supp:
Removed some valgrind warnings that isn't errors
sql/ha_federated.cc:
Fixed errors discovered by valgrind:
- Socket was not initialized
- share->scheme was deleted while there was still pointer into it from the hash
sql/item_func.h:
Remove access to table object from cleanup() as the table object may have been dropped earlier (In case of temporary tables or of close_thread_tables() is run before cleanup())
This fixed a bug with access to already freed memory
sql/sql_base.cc:
Reset variables used by fulltext
sql/sql_select.cc:
Fixed various problems with bit fields when used in internal temporary tables.
Calculate space needed for bit fields correctly (previously we allocated more space than needed for rows in heap/myisam tables)
libmysqld/lib_sql.cc:
struct st_security_context nad to class Security_context
sql/item_func.cc:
fixed method call, name and contence to be compatible with new code
sql/item_func.h:
fixed method to be compatible wit new code
sql/sql_parse.cc:
fixed typo
removed compiler warnings
Execution rigths on function was checked just before function execution,
thus it was unknown on prepare stage whether user have right to execute
particular function.
Added access rights checking function which is called right after fixing
Item_func_sp.
This have additional effect that if user don't have rights for execution
query will fail on earlier stage and will not waste resources on optimizing
with failing on execution stage.
sql/item_func.h:
Fix bug#12812 create view calling a function works without execute right on function
sql/item_func.cc:
Fix bug#12812 create view calling a function works without execute right on function
Added function Item_func_sp::check_access() which checks access rights.
Added function Item_func_sp::fix_field() which calls check_access() after fixing.
Item_func_sp::execute() now calls to check_access() to check access rights.
mysql-test/t/sp.test:
Test case for bug#12812 create view calling a function works without execute right on function
mysql-test/r/sp.result:
Test case for bug#12812 create view calling a function works without execute right on function
Corrected results after the fix for bug #12791.
func_test.result, func_test.test:
Added test cases for bug #12791.
item_func.h, item_func.cc:
Fixed bug #12791.
Made LEAST/GREATES fully Oracle compliant.
LEAST/GREATEST did not return NULL if only some
arguments were NULLs. This did not comply with Oracle.
sql/item_func.cc:
Fixed bug #12791.
Made LEAST/GREATES fully Oracle compliant.
LEAST/GREATEST did not return NULL if only some
arguments were NULLs. This did not comply with Oracle.
sql/item_func.h:
Fixed bug #12791.
Made LEAST/GREATES fully Oracle compliant.
LEAST/GREATEST did not return NULL if only some
arguments were NULLs. This did not comply with Oracle.
mysql-test/t/func_test.test:
Added test cases for bug #12791.
mysql-test/r/func_test.result:
Added test cases for bug #12791.
mysql-test/r/null.result:
Corrected results after the fix for bug #12791.
mysql-test/r/func_str.result:
Corrected results after the fix for bug #12791.
mysql-test/r/func_misc.result:
Add new results
mysql-test/t/func_misc.test:
Add new regression test.
sql/item_create.cc:
When SLEEP() is used, mark the statement as uncacheable.
sql/item_func.h:
Flag SLEEP() as not constant, and set RAND_TABLE_BIT so that it is
always evaluated.
number of seconds (which can include microseconds). (Bug #6760)
mysql-test/r/func_misc.result:
Add new results
mysql-test/t/func_misc.test:
Add new regression test.
sql/item_create.cc:
Add create_func_sleep()
sql/item_create.h:
Add create_func_sleep()
sql/item_func.cc:
Add sleep() implementation
sql/item_func.h:
Add class for sleep() function
sql/lex.h:
Handle SLEEP() function
into mysql.com:/usr/home/bar/mysql-5.0
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.hpp:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.cc:
Auto merged
include/config-netware.h:
auto merge fix
libmysql/libmysql.def:
after merge fix
sql/item_func.cc:
SCCS merged
Adding test
item_sum.cc:
Adding a call for collation/charset aggregation,
to collect attributes from the arguments. The actual bug fix.
item_func.h, item_func.cc, item.h, item.cc:
- Removing collation aggrgation functions from Item_func class
in item.cc, and adding it as non-class functions in item.cc
to be able to reuse this code for group_concat.
- Adding replacement for these functions into Item_func class
as wrappers for moved functions, to minizize patch size,
sql/item.cc:
- Removing collation aggrgation functions from Item_func class
in item.cc, and adding it as non-class functions in item.cc
to be able to reuse this code for group_concat.
- Adding replacement for these functions into Item_func class
as wrappers for moved functions, to minizize patch size,
sql/item.h:
- Removing collation aggrgation functions from Item_func class
in item.cc, and adding it as non-class functions in item.cc
to be able to reuse this code for group_concat.
- Adding replacement for these functions into Item_func class
as wrappers for moved functions, to minizize patch size,
sql/item_func.cc:
- Removing collation aggrgation functions from Item_func class
in item.cc, and adding it as non-class functions in item.cc
to be able to reuse this code for group_concat.
- Adding replacement for these functions into Item_func class
as wrappers for moved functions, to minizize patch size,
sql/item_func.h:
- Removing collation aggrgation functions from Item_func class
in item.cc, and adding it as non-class functions in item.cc
to be able to reuse this code for group_concat.
- Adding replacement for these functions into Item_func class
as wrappers for moved functions, to minizize patch size,
sql/item_sum.cc:
Adding a call for collation/charset aggregation,
to collect attributes from the arguments. The actual bug fix.
mysql-test/t/func_gconcat.test:
Adding test
mysql-test/r/func_gconcat.result:
Adding test
mysql-test/r/sp.result:
Test results fixed: rewritten test for Bug#6129
mysql-test/r/view.result:
Push a change to the result file from Sanja's patch.
mysql-test/t/sp.test:
Rewrite the test for Bug#6129 (now that stored procedures don't
evaluate system variables at parse, the test produced different results).
The old test failed with 1 in the second invocation (the old
result was wrong).
sql/item_func.cc:
After-merge fix.
sql/item_func.h:
After-merge fix.
sql/mysql_priv.h:
After-merge fix.
sql/mysqld.cc:
Rollback the patch for Bug#7403 (it breaks the test suite).
of system vars at PREPARE time": implement a special Item
to handle system variables. This item substitutes itself with
a basic constant containing variable value at fix_fields.
mysql-test/r/ps.result:
- test results fixed (Bug#9359).
mysql-test/t/ps.test:
- add a test case for Bug#9359 "Prepared statements take snapshot
of system vars at PREPARE time"
sql/item_func.cc:
- implement Item_func_get_system_var: we should not evaluate system
variables in the parser, but instead should create an item which
is evaluated to a constant at execute.
- remove an unused function
sql/item_func.h:
Add a new item, Item_func_get_system_var
sql/mysql_priv.h:
Move necessary declarations to make set_var.h objects visible in
item_func.h
sql/set_var.cc:
- we should not print to network from get_system_var: if it's called
from prepared statement prepare, we get packets out of order when using
the binary protocol. Instead report the error to be sent to the user later.
This is a backport from 5.0.
sql/set_var.h:
- declaration of enum_var_type moved to mysql_priv.h
mysql-test/r/type_newdecimal.result:
test result fixed
mysql-test/t/type_newdecimal.test:
test case added
sql/item_func.cc:
Item_real_func::val_decimal implemented
sql/item_func.h:
Item_real_func::val_decimal declared
include/my_bitmap.h:
new bitmap operation
mysql-test/r/view.result:
added warnings
Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
mysql-test/t/view.test:
Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
mysys/my_bitmap.c:
new bitmap operation
sql/field.h:
index of field in table added
sql/item.cc:
Name resolution context added
table list removed from fix_fields() arguments
sql/item.h:
Name resolution context added
table list removed from fix_fields() arguments
sql/item_cmpfunc.cc:
table list removed from fix_fields() arguments
sql/item_cmpfunc.h:
table list removed from fix_fields() arguments
sql/item_func.cc:
table list removed from fix_fields() arguments
sql/item_func.h:
table list removed from fix_fields() arguments
sql/item_row.cc:
table list removed from fix_fields() arguments
sql/item_row.h:
table list removed from fix_fields() arguments
sql/item_strfunc.cc:
fixed server crash on NULL argument
sql/item_strfunc.h:
table list removed from fix_fields() arguments
sql/item_subselect.cc:
table list removed from fix_fields() arguments
sql/item_subselect.h:
table list removed from fix_fields() arguments
sql/item_sum.cc:
table list removed from fix_fields() arguments
sql/item_sum.h:
table list removed from fix_fields() arguments
sql/item_timefunc.cc:
table list removed from fix_fields() arguments
sql/item_timefunc.h:
table list removed from fix_fields() arguments
sql/item_uniq.h:
table list removed from fix_fields() arguments
sql/log_event.cc:
Name resolution context added
sql/log_event.h:
Name resolution context added
sql/mysql_priv.h:
Name resolution context added
sql/set_var.cc:
table list removed from fix_fields() arguments
sql/share/errmsg.txt:
new error message
sql/sp.cc:
Name resolution context added
sql/sp_head.cc:
table list removed from fix_fields() arguments
sql/sp_head.h:
Name resolution context added
sql/sql_base.cc:
table list removed from fix_fields() arguments
Name resolution context added
sql/sql_class.cc:
renamed variable
sql/sql_delete.cc:
Name resolution context added
sql/sql_derived.cc:
Name resolution context added
sql/sql_do.cc:
table list removed from fix_fields() arguments
sql/sql_handler.cc:
Name resolution context added
sql/sql_help.cc:
Name resolution context added
sql/sql_insert.cc:
Name resolution context added
table list removed from fix_fields() arguments
sql/sql_lex.cc:
Name resolution context added
sql/sql_lex.h:
removed resolve mode (information stored into name resolution context)
sql/sql_load.cc:
table list removed from fix_fields() arguments
sql/sql_olap.cc:
Name resolution context added
sql/sql_parse.cc:
Name resolution context added
sql/sql_prepare.cc:
table list removed from fix_fields() arguments
sql/sql_select.cc:
table list removed from fix_fields() arguments
sql/sql_show.cc:
Name resolution context added
sql/sql_trigger.cc:
table list removed from fix_fields() arguments
sql/sql_udf.h:
table list removed from fix_fields() arguments
sql/sql_union.cc:
Name resolution context added
sql/sql_update.cc:
Name resolution context added
sql/sql_view.cc:
Name resolution context added
sql/sql_view.h:
table list removed from fix_fields() arguments
sql/sql_yacc.yy:
Name resolution context added
sql/table.cc:
Name resolution context added
merged view processing moved
sql/table.h:
merged view processing moved
mysql-test/r/view.result:
using sum(distinct ), cast(... as decimal) & avg(distinct ) in views
mysql-test/t/view.test:
using sum(distinct ), cast(... as decimal) & avg(distinct ) in views
sql/item.h:
Add a comment for Item::print
sql/item_func.cc:
Use functype(), not func_name() for item equvalence detection
sql/item_func.h:
Missed function typoes added
Add a comment for Item_func::func_name()
style fix
sql/item_strfunc.cc:
Use functype(), not func_name() for item equvalence detection
sql/item_strfunc.h:
Add missing func_name and func_type
sql/item_sum.cc:
Item_sum func_name report beggining of function till first argument
sql/item_sum.h:
Item_sum func_name report beggining of function till first argument
sql/item_timefunc.cc:
Use functype(), not func_name() for item equvalence detection
sql/item_timefunc.h:
Add missing func_name and func_type
sql/item_uniq.h:
Add missing func_name
Fixed valgrind complaints. This fixes the memory leak problems for
procedured, and partially for functions. There's still a leak involving
results from functions that turned out to be too involved, so it will be
fixed separately.
mysql-test/r/sp.result:
Fixed some minor mistake (spotted while debugging).
mysql-test/t/sp.test:
Fixed some minor mistake (spotted while debugging).
sql/item_func.cc:
Moved Item_func_sp::cleanup() from item_func.h to ease debugging,
and made a debug output come out right.
sql/item_func.h:
Moved Item_func_sp::cleanup() to item_func.cc to ease debugging.
sql/sp_head.cc:
Fixed valgrind problems with the previous memory leak fix (unit cleanup and
putting result field in a differen mem_root), and removed prealloc flag from
init_alloc_root() calls.
sql/sp_rcontext.cc:
New mem_root pointer used for return fields from functions.
sql/sp_rcontext.h:
New mem_root pointer used for return fields from functions.
Fixed bug #9939: a wrong conversion of arguments
for functions COALESCE and IFNULL.
The str_op virtual method was added into Item_func_numhybrid.
item_func.cc:
Fixed bug #9939: a wrong conversion of arguments
for functions COALESCE and IFNULL.
The str_op virtual method was added into Item_func_numhybrid.
item_cmpfunc.h, item_cmpfunc.cc:
Fixed bug #9939: a wrong conversion of arguments
for functions COALESCE and IFNULL.
Item_func_coalesce and Item_func_ifnull now
inherit from a modified Item_func_numhybrid.
case.test, case.result:
Added test cases for bug #9939.
mysql-test/r/case.result:
Added test cases for bug #9939.
mysql-test/t/case.test:
Added test cases for bug #9939.
sql/item_cmpfunc.cc:
Fixed bug #9939: a wrong conversion of arguments
for functions COALESCE and IFNULL.
Item_func_coalesce and Item_func_ifnull now
inherit from a modified Item_func_numhybrid.
sql/item_cmpfunc.h:
Fixed bug #9939: a wrong conversion of arguments
for functions COALESCE and IFNULL.
Item_func_coalesce and Item_func_ifnull now
inherit from a modified Item_func_numhybrid.
sql/item_func.cc:
Fixed bug #9939: a wrong conversion of arguments
for functions COALESCE and IFNULL.
The str_op virtual method was added into Item_func_numhybrid.
sql/item_func.h:
Fixed bug #9939: a wrong conversion of arguments
for functions COALESCE and IFNULL.
he str_op virtual method was added into Item_func_numhybrid.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
mysql-test/t/range.test:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/sql_udf.h:
Auto merged
mysql-test/r/mysqldump.result:
Manual merge.
mysql-test/t/mysqldump.test:
Manual merge.
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
include/my_global.h:
Auto merged
sql/field.h:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_heap.h:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.h:
Auto merged
sql/ha_myisammrg.h:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/handler.h:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_geofunc.h:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.h:
Auto merged
BitKeeper/deleted/.del-ha_isam.h~bf53d533be3d3927:
Auto merged
BitKeeper/deleted/.del-ha_isammrg.h~66fd2e5bfe7207dc:
Auto merged
sql/examples/ha_archive.h:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/opt_range.h:
Auto merged
sql/procedure.h:
Auto merged
sql/protocol.h:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_string.h:
Auto merged
sql/sql_udf.h:
Auto merged
sql/tztime.h:
Auto merged