client/mysqltest.c:
An expected error messages hiding from the log if disable_result_log is in force.
mysql-test/r/sp-dynamic.result:
The test expanded for case of allowed/disalowed recursion.
mysql-test/r/sp-error.result:
Error messages changed.
Test of bug11394() made with allowed recursion.
mysql-test/r/sp.result:
Tests for recursion.
mysql-test/r/trigger.result:
Check that triggers are not affected by this patch.
mysql-test/r/variables.result:
Test of max_sp_recursion_depth variable.
mysql-test/t/sp-dynamic.test:
The test expanded for case of allowed/disalowed recursion.
mysql-test/t/sp-error.test:
Error messages changed.
Test of bug11394() made with allowed recursion.
mysql-test/t/sp.test:
Tests for recursion.
mysql-test/t/trigger.test:
Check that triggers are not affected by this patch.
mysql-test/t/variables.test:
Test of max_sp_recursion_depth variable.
sql/item_func.cc:
sp_find_function() and sp_find_procedure() joined to sp_find_routine()
function as it was mentioned in TODO.
sql/mysqld.cc:
max_sp_recursion_depth variable added.
sql/set_var.cc:
max_sp_recursion_depth variable added.
sql/share/errmsg.txt:
An error message changed.
An error message added.
sql/sp.cc:
sp_find_function() and sp_find_procedure() joined to sp_find_routine()
function as it was mentioned in TODO.
Temory LEX is allocated on a stack, not on a heap.
Recursion support added for stored procedures.
sql/sp.h:
sp_find_function() and sp_find_procedure() joined to sp_find_routine()
function as it was mentioned in TODO.
sql/sp_head.cc:
Initialization of new sp_head fields to get correct list of instances
contained one instance only.
Stack requirement for SP instruction is increased.
Stack free space is checked before mem root initialisation to avoid
memory leak.
Pointer to the free instance management added before and after
SP execution.
sql/sp_head.h:
New sp_head variables added to support inst of instances of SP
for recursion and pointer on ths first free to use instance.
sql/sql_base.cc:
open_table() consume a lot of stack space so we check free stack space before it.
sql/sql_class.h:
max_sp_recursion_depth variable added.
sql/sql_parse.cc:
sp_find_function() and sp_find_procedure() joined to sp_find_routine()
function as it was mentioned in TODO.
into sanja.is.com.ua:/home/bell/mysql/bk/work-merge-5.0
sql/item.h:
Auto merged
sql/protocol.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/sp.result:
merge
mysql-test/r/trigger.result:
merge
mysql-test/t/sp.test:
merge
mysql-test/t/trigger.test:
merge
sql/item.cc:
merge
sql/sp_rcontext.h:
merge
if inner routine has more local variables than outer one, and
one of its last variables was used as argument to NOT operator".
THD::spcont was non-0 when we were parsing stored routine/trigger
definition during execution of another stored routine. This confused
methods of Item_splocal and forced them use wrong runtime context.
Fix ensures that we always have THD::spcont equal to zero during
routine/trigger body parsing. This also allows to avoid problems
with errors which occur during parsing and SQL exception handlers.
mysql-test/r/sp.result:
Test suite for bug#13549.
mysql-test/r/trigger.result:
Test suite for bug#13549.
mysql-test/t/sp.test:
Test suite for bug#13549.
mysql-test/t/trigger.test:
Test suite for bug#13549.
sql/item.cc:
Protection against using wrong context by SP local variable.
sql/item.h:
Protection against using wrong context by SP local variable.
sql/protocol.cc:
An incorrect macro name fixed.
sql/protocol.h:
An incorrect macro name fixed.
sql/sp.cc:
Do not allow SP which we are parsing to use other SP
context (BUG#13549).
sql/sp_head.cc:
Protection against using wrong context by SP local variable.
sql/sp_rcontext.h:
Protection against using wrong context by SP local variable.
sql/sql_cache.h:
An incorrect macro name fixed.
sql/sql_class.cc:
Protection against using wrong context by SP local variable.
sql/sql_class.h:
Protection against using wrong context by SP local variable.
sql/sql_trigger.cc:
Do not allow Trigger which we are parsing to use
other SP context (BUG#13549).
sql/sql_yacc.yy:
Protection against using wrong context by SP local variable.
Corrected function declaration
mysql-test/lib/mtr_misc.pl:
Corrected function declaration
mysql-test/mysql-test-run.pl:
Added support of stress mode
mysql-test/lib/mtr_stress.pl:
Added support of stress mode
into mysql.com:/usr/home/pem/show-sp-code/mysql-5.0
sql/sp_head.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sp_head.cc:
Merge fixes (STRING_WITH_LEN in string append calls).
Post-review fixes to original changeset http://lists.mysql.com/internals/32422
BUILD/SETUP.sh:
BUG #14524
Added flags to no-ndb build script to include archive.
mysql-test/r/partition.result:
BUG #14524
Post review mods to test results
mysql-test/t/partition.test:
BUG #14524
Post review mods to test
sql/ha_partition.cc:
BUG# 14524
Post review modifications to code - removed if, just pass m_no_locks
Fixing test results accordingly.
item_timefunc.cc:
Displaying BINARY or CHAR in error messages,
depending on the character set.
sql/item_timefunc.cc:
Displaying BINARY or CHAR in error messages,
depending on the character set.
mysql-test/r/cast.result:
Fixing test results accordingly.
cast.result:
cast.test:
Avoid 0x00 byte in test results, use HEX instead.
mysql-test/t/cast.test:
Additional fix for Bug#14255 CAST(x AS BINARY(N)) does not pad
Avoid 0x00 byte in test results, use HEX instead.
mysql-test/r/cast.result:
Additional fix for Bug#14255 CAST(x AS BINARY(N)) does not pad
item_strfunc.h, item_strfunc.cc, item.cc:
Try to convert a const item into destination
character set. If conversion happens without
data loss, then cache the converted value
and return it during val_str().
Otherwise, if conversion loses data, return
Illeral mix of collations error, as it happened
previously.
ctype_recoding.result, ctype_recoding.test:
Fixing tests accordingly.
sql/item.cc:
Bug#10446 Illegal mix of collations
Try to convert a const item into destination
character set. If conversion happens without
data loss, then cache the converted value
and return it during val_str().
Otherwise, if conversion loses data, return
Illeral mix of collations error, as it happened
previously.
sql/item_strfunc.cc:
Return cached value when it's possible.
mysql-test/t/ctype_recoding.test:
Fixing tests accordingly.
mysql-test/r/ctype_recoding.result:
Fixing tests accordingly.
- Backport from 5.0
include/my_base.h:
Rename HA_CREATE_FROM_ENGINE to HA_OPTION_CREATE_FROM_ENGINE, ie. it's a bit in the table_options variable
mysql-test/r/ndb_basic.result:
Add test result
mysql-test/t/ndb_basic.test:
Add test case for bug14514
sql/ha_ndbcluster.cc:
Use new bitmask for table_options to detect if create from engine
sql/handler.cc:
Use new bit for create from engine
statement for tables created in the IGNORE_SPACE sql mode.
client/mysqldump.c:
Modified dump_triggers_for_table(): if trigger statement returned
by SHOW TRIGGERS query does not contain a leading white space,
additional space is inserted between "ROW" and the statement.
The leading white spaces are removed by yylex() in the
IGNORE_SPACE sql mode.
mysql-test/r/mysqldump.result:
Fixed test case result for bug 14554.
mysql-test/t/mysqldump.test:
Added test case for bug 14554.
ps_6bdb (this one fails circa once over 4 runs). After the merge: the same PLUS mysql_client_test&sp (due to problem in fix of BUG#14845 which has also
been noticed in 5.0 too and Konstantin is looking at it) PLUS mysqlcheck (just consequence of mysql_client_test).
And a replication bugfix (thd->spcont must be taken into account when calling tables_ok(), as in 5.0,
and so some brackets were missing which changed one test).
Pekka will look at the NDB code where I just used "ul": ndb_charset test, and storage/ndb/src/kernel/vm/SimulatedBlock.cpp
and storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp (SimulatedBlock.hpp automerged);
please also check storage/ndb/src/ndbapi/NdbRecAttr.cpp. Petr please check ha_tina.cc.
mysql-test/r/ndb_charset.result:
"ul" in merge (Pekka please fix)
mysql-test/t/ndb_charset.test:
"ul" in merge (Pekka please fix)
sql/sql_acl.cc:
missing ()
sql/sql_parse.cc:
If thd->spcont is true, always replicate (as in 5.0) (bad old merge probably).
into mysql.com:/home/dlenev/src/mysql-5.0-bg13825
sql/ha_innodb.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
handling of savepoints in stored routines.
Fixed ha_rollback_to_savepoint()/ha_savepoint()/ha_release_savepoint()
functions to properly handle savepoints inside of stored functions and
triggers.
Also now when we invoke stored function or trigger we create new savepoint
level. We destroy it at the end of function/trigger execution and return back
to old savepoint level.
mysql-test/r/sp_trans.result:
Added test for bug #13825 "Triggers: crash if release savepoint" and for
general handling of savepoints in stored routines.
mysql-test/t/sp_trans.test:
Added test for bug #13825 "Triggers: crash if release savepoint" and for
general handling of savepoints in stored routines.
sql/ha_innodb.cc:
innobase_savepoint():
Replaced check which always failed due to similar check in caller
with assertion.
sql/handler.cc:
ha_rollback_to_savepoint()/ha_savepoint()/ha_release_savepoint():
Changed functions to properly support handling of savepoints
inside of stored functions and triggers.
sql/sql_class.cc:
THD::reset_sub_statement_state()/restore_sub_statement_state():
When we invoke stored function or trigger we should create new savepoint
level. We should destroy it at the end of function/trigger execution and
return back to old savepoint level. To support this behavior we should
save and reset list of current savepoints on entering function and restore
old list when we leave it.
sql/sql_class.h:
Sub_statement_state:
When we invoke stored function or trigger we should create new savepoint
level. We should destroy it at the end of function/trigger execution and
return back to old savepoint level. To support this behavior added "savepoint"
member which is used to save/restore list of current savepoints on
entering/leaving function.
sql/sql_parse.cc:
mysql_execute_command():
Changed processing of SQLCOM_SAVEPOINT so now it is not ignored when
we are in autocommit mode and savepoint is set inside of stored
function or trigger.
into mysql.com:/home/mysql_src/mysql-5.1-merge-of-5.0
(2nd try; Pekka kindly accepted to fix storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp
and storage/ndb/src/kernel/vm/SimulatedBlock.cpp after I push).
configure.in:
Auto merged
mysql-test/r/ndb_charset.result:
Auto merged
mysql-test/t/view.test:
Auto merged
mysys/base64.c:
Auto merged
sql/ha_archive.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/lock.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/myisam/ft_parser.c:
Auto merged
storage/ndb/include/kernel/AttributeDescriptor.hpp:
Auto merged
storage/ndb/src/kernel/vm/SimulatedBlock.hpp:
Auto merged
storage/ndb/tools/ndb_size.pl:
Auto merged
storage/ndb/tools/ndb_size.tmpl:
Auto merged
mysql-test/t/disabled.def:
merge
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
used "ul", Pekka said he'll fix
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
used "ul", Pekka said he'll fix
Patch that fixes crashing when partition uses blackole for
underlying tables.
mysql-test/r/partition.result:
BUG #14524 New test result
mysql-test/t/partition.test:
BUG #14524
New test
sql/ha_partition.cc:
BUG# 14524
Added new class var m_no_locks to keep track of the absense of locks. If
'0', then lock_count returns 0, which keeps thr_multi_lock from crashing
in the case of the underlying table being ha_blackhole.
sql/ha_partition.h:
BUG #14524
Added new class var m_no_locks to keep track of lock count
sql/lock.cc:
BUG #14524
DBUG PRINTs and ENTERs to make tracking the bug easier. I think these are
useful regardless of this bug.
sql/sql_partition.cc:
BUG #14524
Changed umlaut o to allow fixing bug 14524 using DDD (file would not display
in DDD)
password": additional fix, also make sure that a syntax error is
returned for set names="foo" when there is no such variable or no
stored procedure.
mysql-test/r/sp-error.result:
Test results fixed: a new test for Bug#13510
mysql-test/t/sp-error.test:
A new test for Bug#13510 (set names out of an SP)
sql/sql_yacc.yy:
Bug#13510: fix the case when there is no stored procedure or
no 'names' variable declared. Return a syntax error in this case.
a UNION in which case returns BLOB". The bug is not present anymore.
mysql-test/r/func_gconcat.result:
Bug#8568: test results
mysql-test/t/func_gconcat.test:
Add a test case for Bug#8568
into mysql.com:/home/mysql_src/mysql-5.1-merge-of-5.0 (not all files are good,
I'll fix; I'll ask some devs to check their part)
BitKeeper/etc/ignore:
auto-union
include/my_global.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/view.test:
Auto merged
scripts/mysql_fix_privilege_tables.sql:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.h:
Auto merged
storage/myisam/mi_key.c:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbImpl.hpp:
Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
support-files/mysql.spec.sh:
Auto merged
configure.in:
merge
mysql-test/r/ps_1general.result:
merge ("ul", will fix)
sql/examples/ha_tina.cc:
merge
sql/ha_innodb.cc:
merge
sql/handler.h:
merge
sql/log.cc:
merge
sql/set_var.cc:
merge
sql/share/errmsg.txt:
merge (bad, will fix)
sql/sql_show.cc:
merge (bad, will fix)
sql/sql_yacc.yy:
merge
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
merge
Also added mysql-test files:
include/is_debug_build.inc
r/is_debug_build.require
r/sp-code.result
t/sp-code.test
sql/sp_head.cc:
Review fixes:
- Some minor editorial changes
- Fixed all print() methods for instructions:
- reserve() enough space
- check return value from reserve()
- use qs_append, with length arg, whenever possible
sql/sp_pcontext.cc:
Review fixes.
Also fixed bug in find_cursor().
sql/sp_pcontext.h:
Changed parameter names (review fix).
sql/sql_parse.cc:
Moved comment. (Review fix)
mysql-test/include/is_debug_build.inc:
New BitKeeper file ``mysql-test/include/is_debug_build.inc''
mysql-test/r/is_debug_build.require:
New BitKeeper file ``mysql-test/r/is_debug_build.require''
mysql-test/r/sp-code.result:
New BitKeeper file ``mysql-test/r/sp-code.result''
mysql-test/t/sp-code.test:
New BitKeeper file ``mysql-test/t/sp-code.test''
when COUNT(*) is 0". The bug itself cannot be repeated.
mysql-test/r/sp.result:
Test results were fixed (Bug#14845)
mysql-test/t/sp.test:
An SQL language test case for Bug#14845
tests/mysql_client_test.c:
A test case for Bug#14845