Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
Prefix addresses with 0x for easier comparisons of debug logs
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite.
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
Give NOTE instead of WARNING for safe field-type conversions
Makefile.am:
Don't automaticly update files from bk
client/mysqlbinlog.cc:
Merge with 4.1 (+ apply bug fixes for --offset and --start-position)
include/my_sys.h:
Faster clear_alloc_root()
mysql-test/r/bdb.result:
Updated results after merge
mysql-test/r/create.result:
Updated results after merge
mysql-test/r/func_group.result:
Updated results after merge
mysql-test/r/func_if.result:
Updated results after merge
mysql-test/r/heap_btree.result:
Updated results after merge
mysql-test/r/index_merge.result:
Updated results after merge
mysql-test/r/index_merge_ror.result:
Updated results after merge
mysql-test/r/innodb.result:
Updated results after merge
mysql-test/r/join_outer.result:
Updated results after merge
mysql-test/r/mysqlbinlog2.result:
Updated results after merge
mysql-test/r/negation_elimination.result:
Updated results after merge
mysql-test/r/null.result:
Updated results after merge
Added more tests
mysql-test/r/null_key.result:
Updated results after merge
Added more tests
mysql-test/r/order_by.result:
Updated results after merge
mysql-test/r/range.result:
Updated results after merge
Added more tests
mysql-test/r/rpl_charset.result:
Updated results after merge
mysql-test/r/sp-error.result:
Updated results after merge
mysql-test/r/sp.result:
Updated results after merge
Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
mysql-test/r/type_blob.result:
Updated results after merge
(Some warnings are now notes)
mysql-test/r/user_var.result:
Updated results after merge
Added more tests
mysql-test/r/variables.result:
Updated results after merge
mysql-test/r/view.result:
Updated results after merge
mysql-test/t/mysqlbinlog2.test:
Updated tests to use new positions
mysql-test/t/null.test:
More tests
mysql-test/t/null_key.test:
More tests
mysql-test/t/range.test:
More tests
mysql-test/t/rpl_charset.test:
Avoid big diffs in the future if tests changes
mysql-test/t/sp-error.test:
Updated error numbers
mysql-test/t/sp-security.test:
Updated error numbers
mysql-test/t/sp.test:
Updated results after merge
Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
mysql-test/t/user_var.test:
More tests
mysql-test/t/view.test:
Updated error numbers
mysys/my_alloc.c:
Write into debug log the address of the allocated area
sql/ha_isam.cc:
Prefix addresses with 0x for easier comparisons of debug logs
sql/ha_myisam.cc:
Prefix addresses with 0x for easier comparisons of debug logs
sql/ha_ndbcluster.cc:
Add missing enum to switch
sql/handler.cc:
remove compiler warning
sql/item.cc:
More debugging
Simple cleanup
sql/item.h:
Move Item::cleanup() to item.cc
sql/item_cmpfunc.cc:
Fix arena code
sql/item_subselect.cc:
After merge fixes
sql/item_subselect.h:
After merge fixes
sql/item_sum.cc:
Updated comment
sql/log_event.cc:
Remove wrong test
sql/mysql_priv.h:
Indentation fixes
sql/mysqld.cc:
After merge fixes
Added 0x to pointers in debug log
sql/opt_range.cc:
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
sql/set_var.cc:
Indentation fixes
sql/sp_head.cc:
Set state to INITIALIZED to make SP work with new arena code
sql/sql_base.cc:
After merge fixes
sql/sql_class.cc:
More debugging
Use clear_alloc_root() instead of init_alloc_root() as the former is faster
sql/sql_class.h:
New method 'only_prepare()'
sql/sql_lex.cc:
After merge fixes
sql/sql_lex.h:
After merge fixes
sql/sql_parse.cc:
Fix for timezone tables. (The old way to add timezone tables to global list in 'create_total_list' doesn't work anymore)
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
sql/sql_prepare.cc:
After merge fixes
sql/sql_select.cc:
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite
sql/sql_table.cc:
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
sql/sql_union.cc:
After merge fix
sql/sql_view.cc:
After merge fix
sql/table.cc:
After merge fix
sql/tztime.cc:
Update timezone table handling to use new table lists structure
sql/tztime.h:
Update timezone table handling to use new table lists structure
sql/unireg.cc:
Use 0x before pointers
Althought techically not a but (as it's functioning as designed),
it was decided that the design should be changed. Some users have
a problem with dates being '0000-00-00' and the SQL standard specifies
that the modification date should be the same as the creation date
at creation.
mysql-test/r/sp.result:
New test case for BUG#5258.
mysql-test/t/sp.test:
New test case for BUG#5258.
sql/sp.cc:
Set the modification time at creation too.
mysql-test/r/sp.result:
New test case for BUG#5307
mysql-test/t/sp.test:
New test case for BUG#5307
sql/sp_head.cc:
Use the correct end-of-query pointer when extracting the body in the case
of a create procedure compound with another statement.
Bug in diff_handlers and diff_cursors made it attempt to pop
the wrong number at jumps sometimes.
mysql-test/r/sp.result:
New testcase for BUG#5287.
mysql-test/t/sp.test:
New testcase for BUG#5287.
sql/sp_pcontext.cc:
Fixed diff_handlers and diff_cursors methods, they miscounted.
sql/sp_pcontext.h:
Made m_handlers available for diff_handlers.
into pcgem.rdg.cyberkinetica.com:/usr/home/acurtis/work/mysql-5.0
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/sp.result:
New testcase for BUG#5251.
mysql-test/t/sp.test:
New testcase for BUG#5251.
sql/sp_head.cc:
Added checksum to the list of statements that return result sets.
mysql-test/r/sp.result:
New test case for BUG#5251.
mysql-test/t/sp.test:
New test case for BUG#5251.
sql/sp.cc:
Don't update the created timestamp when doing alter procedure/function.
This finishes (almost) WL#2002: Implement stored procedure GOTO.
Only the syntax issue for free labels remains ("label L;" vs "L:").
include/mysqld_error.h:
New error code for GOTO in SP handler.
mysql-test/r/sp-error.result:
New error test cases for GOTO.
mysql-test/r/sp.result:
New test cases for GOTO.
Also removed some things that made it impossible to run the test in
an external (debugged) mysqld.
mysql-test/t/sp-error.test:
New error test cases for GOTO.
mysql-test/t/sp.test:
New test cases for GOTO.
Also removed some things that made it impossible to run the test in
an external (debugged) mysqld.
sql/share/czech/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/danish/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/dutch/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/english/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/estonian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/french/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/german/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/greek/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/hungarian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/italian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/japanese/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/korean/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/norwegian-ny/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/norwegian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/polish/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/portuguese/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/romanian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/russian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/serbian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/slovak/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/spanish/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/swedish/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/ukrainian/errmsg.txt:
New error message for GOTO in SP handler.
sql/sp_head.cc:
Code cleanup (renaming of pcontext methods), support goto, and fixed bug
in jump shortcutting in the optimizer (detect infinite loops).
sql/sp_head.h:
Code cleanup (renaming of pcontext methods), support goto, and fixed bug
in jump shortcutting in the optimizer (detect infinite loops).
sql/sp_pcontext.cc:
Major rehack and cleanup:
- We now push and pop a chain of contexts during parsing (instead of having
a single one).
- Makes error detection for GOTO easier and enables some optmizations and
debugger support.
- Makes it a little trickier to keep track on variable and cursor indexes instead.
- Renamed things to get a more consistent naming scheme too.
sql/sp_pcontext.h:
Major rehack and cleanup:
- We now push and pop a chain of contexts during parsing (instead of having
a single one).
- Makes error detection for GOTO easier and enables some optmizations and
debugger support.
- Makes it a little trickier to keep track on variable and cursor indexes instead.
- Renamed things to get a more consistent naming scheme too.
sql/sql_yacc.yy:
Changes to reflect the rework and renamings in sp_pcontext, and fixed
some GOTO error checking.
and BUG#336: Subselects with tables does not work as values for
local SP variables (which was closed before with a temp. fix, but not
actually fixed).
mysql-test/r/sp-error.result:
Moved test case for BUG#336 to sp.test, as it's not generating an error any longer.
mysql-test/r/sp.result:
Move test case for BUG#336 from sp-error.test and added new test case
for BUG#3157.
mysql-test/t/sp-error.test:
Moved test case for BUG#336 to sp.test, as it's not generating an error any longer.
mysql-test/t/sp.test:
Move test case for BUG#336 from sp-error.test and added new test case
for BUG#3157.
sql/sp_head.cc:
Open and close tables in set, jump-if[-not] and freturn instructions if
the value expression is a subselect.
sql/sp_head.h:
Store tables in set, jump-if[-not] and freturn instructions if
the value expression is a subselect.
sql/sql_yacc.yy:
Store tables in set, jump-if[-not] and freturn instructions if
the value expression is a subselect.
Mostly done, it works, but the temporary LABEL syntax still to be fixed.
mysql-test/r/sp-error.result:
New test case for WL#2002 (GOTO).
mysql-test/r/sp.result:
New test case for WL#2002 (GOTO).
(Also corrected another test)
mysql-test/t/sp-error.test:
New test case for WL#2002 (GOTO).
mysql-test/t/sp.test:
New test case for WL#2002 (GOTO).
(Also corrected another test)
sql/lex.h:
New symbol GOTO.
Also a temporary symbol LABEL, which hopefully will go away soon.
sql/sp_head.cc:
Fixed backpatching to cope with free GOTO labels an hpop and cpop instructions.
Also optimized away pointless jump instructions.
sql/sp_head.h:
Fixed backpatching to cope with free GOTO labels an hpop and cpop instructions.
We now sometimes generate hpop/cpop 0 instructions but the optimizer removes them.
sql/sp_pcontext.cc:
Added free GOTO labels, and support for coping with jumps out of blocks
with handlers or cursors.
sql/sp_pcontext.h:
Added free GOTO labels, and support for coping with jumps out of blocks
with handlers or cursors.
sql/sql_yacc.yy:
Added GOTO and LABEL, and adjusted backpatching accordingly. Also fixed LEAVE
out of blocks. The LABEL syntax will go away soon, hopefully.
mysql-test/r/sp.result:
Removed a test case that's not repeatable over different builds/platforms.
mysql-test/t/sp.test:
Removed a test case that's not repeatable over different builds/platforms.
The description is not entirerly correct. The issue was follow-up errors
where the first error is not caught - in which case it's often a system
error with errcode < 1000 (which are mapped by default to 'HY000'). In this
case the error state is different from what was assumed in the execution
loop.
mysql-test/r/sp.result:
New test case for BUG#4902.
mysql-test/t/sp.test:
New test case for BUG#4902.
sql/sp_head.cc:
Don't test the net.report_error flag in the execution loop. (Don't know
why this was done in the first place, as it seems to serve no purpose.)
and tried to do it properly this time, digging out all show commands that
need the multi results flag set.
mysql-test/r/sp.result:
New test case for BUG#4902, with lots of other show commands as well.
mysql-test/t/sp.test:
New test case for BUG#4902, with lots of other show commands as well.
sql/sp_head.cc:
The check for possible multiple result commands was becomming unwieldly,
so we moved it to a separate function, and added loads of new command codes
to the test.
sql/sp_head.h:
The check for possible multiple result commands was becomming unwieldly,
so we moved it to a separate function.
sql/sql_yacc.yy:
The check for possible multiple result commands was becomming unwieldly,
so we moved it to a separate function.
at least partially. It doesn't crash or give packets out of order
any more, but it's unclear why it doesn't actually return anything
from within an SP. This should be investigated at some point, but
for the moment this will have to do. (It is a rather obscure feature... :)
mysql-test/r/sp.result:
Test case for BUG#4318.
mysql-test/t/sp.test:
Test case for BUG#4318.
sql/sql_yacc.yy:
Recognize HANDLER READ as another statement that might result in multiple results.
Sub-CALLs of procedures zapped thd->current_arena for good.
mysql-test/r/sp.result:
New test case for BUG#4579.
mysql-test/t/sp.test:
New test case for BUG#4579.
sql/sp_head.cc:
Keep and restore old thd->current_arena before/after executing an SP,
instead of just setting it to 0 afterwards.
mysql-test/r/sp.result:
New test case for BUG#3368.
mysql-test/t/sp.test:
New test case for BUG#3368.
sql/item.h:
Corrected const_item() for item_splocal. (Confusing semantics here, but this
makes group_concat() behave as expected, instead of crashing, and does not
appear to affect anything else.)
mysql-test/r/sp.result:
New test case for BUG#3843.
mysql-test/t/sp.test:
New test case for BUG#3843.
sql/sql_yacc.yy:
Added another multi results special case for stored procedures (analyze).
mysql-test/r/sp.result:
Added testcase for BUG#3132.
mysql-test/t/sp.test:
Added testcase for BUG#3132.
sql/item_func.cc:
Set a useful max_length in Item_func_sp so field widths are correctly calculated.
It's not possible to quote the definition according to the current sql_mode
setting, so instead we use the setting stored with the SP (that's how it's
parsed anyway), and show this setting in the SHOW CREATE output.
mysql-test/r/sp.result:
Modifed SHOW CREATE FUNCTION|PROCEDURE output. Show the sql_mode used at
creation as well.
New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
mysql-test/t/sp.test:
New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
sql/sp.cc:
Rewrote create_string to quote things correctly according to the sql_mode
used at creation time.
sql/sp_head.cc:
Store sql_mode in sp_head and use it for SHOW CREATE.
sql/sp_head.h:
Store sql_mode in sp_head and use it for SHOW CREATE.
mysql-test/r/sp.result:
Added test case for BUG#2460.
mysql-test/t/sp.test:
Added test case for BUG#2460.
sql/sql_union.cc:
When called from stored procedures, tabs might be reset already.
BUG#1863: CREATE TABLE in Stored Procedure sometimes crashes on repeated calls.
BUG#2656: select with join in stored procedure: erroneous result on 2nd call.
BUG#3426: IF x IS NULL in stored procedure fails on second call within connection.
BUG#3448: Stored Procedures with inner joins possible bug.
BUG#3734: Stored procedure returns wrong rows with fulltext parameter.
BUG#3863: Stored procedure crash when incrementing variable in a loop.
(And corrected the row count output to the client after CALL)
mysql-test/r/sp.result:
New test case results for fixed bugs.
mysql-test/t/sp.test:
New test cases for fixed bugs.
sql/sql_parse.cc:
Corrected the row_count output to the client.
mysql-test/r/sp.result:
test suite for Bug #2266
mysql-test/t/sp.test:
test suite for Bug #2266
sql/item_subselect.cc:
made ancestor for Statement (Item_arena)
sql/item_subselect.h:
made ancestor for Statement (Item_arena)
sql/item_sum.cc:
made ancestor for Statement (Item_arena)
sql/item_sum.h:
made ancestor for Statement (Item_arena)
sql/mysql_priv.h:
reset_stmt_for_execute use PS and SP
sql/sp_head.cc:
sp_head use Item_arena as ancestor to be PS cleunup compatible
SP use PS storing/restoring/cleanup mechanisms
cleanup() of SP Items added
Items created in temporary memory pool during SP execution saved for normal freeing after SP execution
sql/sp_head.h:
sp_head use Item_arena
sql/sql_base.cc:
made ancestor for Statement (Item_arena)
results of wild_setup made permanent
setup_conds make natural joins expanding only once and store results in PS/SP memory
sql/sql_class.cc:
made ancestor for Statement (Item_arena)
sql/sql_class.h:
made ancestor for Statement (Item_arena)
method to detect PS preparation added
sql/sql_delete.cc:
storing where for DELETE and mark first execution
sql/sql_derived.cc:
use method
sql/sql_insert.cc:
mark first execution for INSERT
sql/sql_lex.cc:
flags to correctly make transformations of query and storing them in memory of PS/SP
made ancestor for Statement (Item_arena)
sql/sql_lex.h:
reved variable od SP ol saving data
flags to correctly make transformations of query and storing them in memory of PS/SP
sql/sql_parse.cc:
cleunup unit for any query
sql/sql_prepare.cc:
made ancestor for Statement (Item_arena)
storing where moved to preparation
changed interface of reset_stmt_for_execute to use it is SP
do not restore where/order by/group by before first execution (but tables and unit can be chenged without execution and should be prepared (subqueries executes on demand))
sql/sql_select.cc:
storing where for SELECT/multi-DELETE/... and mark first execution
sql/sql_union.cc:
made ancestor for Statement (Item_arena)
sql/sql_update.cc:
storing where for UPDATE and mark first execution
(This is mostly to test sendmail tunneling of commit email...
might not actually get pushed)
mysql-test/t/sp.test:
Added comment about expected result for prime test.
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().
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.
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.)
Added new test cases for this, and adjusted old tests accordingly,
and new error codes and messages.
Fixed bugs in some tests (bug2673 and use test).
Added debug printing of instructions in SPs.
include/mysqld_error.h:
New error codes for non-standard declaration order in SPs.
include/sql_state.h:
New error codes for non-standard declaration order in SPs.
mysql-test/r/sp-error.result:
Enforce standard declaration order.
Fixed syntax error in use-test.
New test cases for wrong order.
mysql-test/r/sp.result:
Enforce strict declaration order.
Fixed platform dependent bug2673 test.
mysql-test/t/sp-error.test:
Enforce standard declaration order.
Fixed syntax error in use-test.
New test cases for wrong order.
mysql-test/t/sp.test:
Enforce strict declaration order.
Fixed platform dependent bug2673 test.
sql/share/czech/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/danish/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/dutch/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/english/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/estonian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/french/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/german/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/greek/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/hungarian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/italian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/japanese/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/korean/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/norwegian-ny/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/norwegian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/polish/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/portuguese/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/romanian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/russian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/serbian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/slovak/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/spanish/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/swedish/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/ukrainian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/sp_head.cc:
Debug printing of instructions in procedures.
New error instruction for future use.
sql/sp_head.h:
Debug printing of instructions in procedures.
New error instruction for future use.
sql/sql_string.cc:
New methods needed by debug printing of instruction in SPs.
sql/sql_string.h:
New methods needed by debug printing of instruction in SPs.
sql/sql_yacc.yy:
Check for standard order of declarations in SPs.
Procedure names were unintentionally case-sensitive when read from the database
(but case-insensitive when fetched from the cache).
Note that the DB-part of qualified names is still case-sensitive (for consistency
with other usage in mysql).
Docs/sp-imp-spec.txt:
Removed "binary" from name and specific_name columns in mysql.proc definition.
mysql-test/r/sp.result:
Test case for BUG#3259; SP names were supposed to be case-insensitive.
mysql-test/t/sp.test:
Test case for BUG#3259; SP names were supposed to be case-insensitive.
scripts/mysql_create_system_tables.sh:
Removed "binary" from name and specific_name columns in mysql.proc definition.
scripts/mysql_fix_privilege_tables.sql:
Removed "binary" from name and specific_name columns in mysql.proc definition,
and added a corresponding ALTER TABLE to fix existing tables.
sql/sp.cc:
Added missing init of variable.
Phase 4 (final): Remove associated stored procedures when a database is dropped.
mysql-test/r/sp-security.result:
drop database now deletes associated SPs.
mysql-test/r/sp.result:
drop database now deletes associated SPs.
mysql-test/t/sp-security.test:
drop database now deletes associated SPs.
mysql-test/t/sp.test:
drop database now deletes associated SPs.
sql/sp.cc:
New function for deleting all SPs associated with a database.
sql/sp.h:
New function for deleting all SPs associated with a database.
sql/sp_cache.cc:
New function for just invalidating all SP caches (when dropping a database).
sql/sp_cache.h:
New function for just invalidating all SP caches (when dropping a database).
sql/sql_db.cc:
When dropping a database, also delete all associated SPs.
Had to initialize some fields in lex before parsing an SP read from
mysql.proc.
mysql-test/r/sp.result:
New test case for BUG#2674.
mysql-test/t/sp.test:
New test case for BUG#2674.
sql/sp.cc:
We need to initialize some thd->lex fields (e.g. unit master pointers) since
LEX::uncacheable() depends on this, and it's called when looking up system
variables during parsing.
Phase 2: Make SPs belong to a DB, and use qualified names.
As a side effect, using USE in an SP is no longer allowed.
(It just doesn't work otherwise.)
include/mysqld_error.h:
New error code (USE is no longer allowed in a stored procedure).
include/sql_state.h:
New error state (USE is no longer allowed in a stored procedure).
mysql-test/r/sp-error.result:
Updated result for test of USE in SP (not allowed now).
mysql-test/r/sp-security.result:
Updated test results for new db column and qualified procedured names.
mysql-test/r/sp.result:
Updated results for USE in SP (as it's no longer allowed), and
for new db column in status result.
mysql-test/t/sp-error.test:
Moved test of USE in SP from sp.test (as it's no longer allowed).
mysql-test/t/sp-security.test:
Ajusted tests for new db column and qualified procedured names.
mysql-test/t/sp.test:
Moved test of USE in SP to sp-error.test (as it's no longer allowed).
Adjusted tests for new db column in status result.
sql/mysql_priv.h:
mysql_change_db() now has optional arguments for use by SP with qualified names.
sql/share/czech/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/danish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/dutch/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/english/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/estonian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/french/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/german/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/greek/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/hungarian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/italian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/japanese/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/korean/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/norwegian-ny/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/norwegian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/polish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/portuguese/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/romanian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/russian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/serbian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/slovak/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/spanish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/swedish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/ukrainian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/sp.cc:
SPs are now "belong" to a DB and may have qualified names.
New functions for changing DB ("use") when parsing and invoking SPs.
sql/sp.h:
New functions for changing DB ("use") when parsing and invoking SPs.
sql/sp_cache.cc:
Use the qualified name in the SP cache.
sql/sp_head.cc:
New function for allocating a qualified SP name (used in sql_yacc.yy).
Change DB when executing an SP (if needed).
Moved thd_mem_root swap functions from sp_head.h.
sql/sp_head.h:
New function for allocating a qualified SP name (used in sql_yacc.yy).
Moved thd_mem_root swap functions to sp_head.cc.
sql/sql_db.cc:
mysql_change_db() now has optional arguments for use by SP with qualified names
(for use when reading an SP from database and executing it); also allow "unusing"
a database, i.e. setting thd->thd to "".
sql/sql_yacc.yy:
Initialize qualfied SP names correctly.
USE is no longer allowed in an SP.
and updated sp.result as well.
mysql-test/r/sp.result:
Fixed test for BUG#2614 (right name, right place, etc...),
and updated this file as well.
mysql-test/t/sp.test:
Fixed test for BUG#2614 (right name, right place, etc...)
test case for the fix for bug #2614
sp_head.cc:
A fix for a crashing bug in stored procedures with INSERT ... SELECT ... (Bug #2514)
sql/sp_head.cc:
A fix for a crashing bug in stored procedures with INSERT ... SELECT ... (Bug #2514)
mysql-test/t/sp.test:
test case for the fix for bug #2614
(Meaning "... with SELECT v", where v is a local variable.)
mysql-test/r/sp.result:
Test case for BUG#2227
mysql-test/t/sp.test:
Test case for BUG#2227
sql/item.h:
Item_splocal::send() needed for "SELEC v", where "v" is a local variable.
Also set the field name.
sql/sp_head.cc:
Have to get decimals and max_length right for reals, when SELECT of local variables.
(This might not be enough, could be more statements that must be detected...)
mysql-test/r/sp.result:
Test case for BUG#2267
mysql-test/t/sp.test:
Test case for BUG#2267
sql/sp.cc:
Code clean-up: Get the correct order of print-outs in debug trace.
sql/sql_yacc.yy:
Detect "select-like" statements so that the multi result flag is set correctly.
Found a few more places in the parser (insert, replace and update) where
local stored procedure variables should not be recognized.
mysql-test/r/sp-error.result:
Test cases for BUG#2329
mysql-test/r/sp.result:
New test case for certain context dependencies for symbols.
mysql-test/t/sp-error.test:
Test cases for BUG#2329
mysql-test/t/sp.test:
New test case for certain context dependencies for symbols.
sql/sql_yacc.yy:
Found a few more places where local SP variables should not be recognized.
mysql-test/r/sp.result:
Test case for BUG#2260.
mysql-test/t/sp.test:
Test case for BUG#2260.
sql/sp_rcontext.cc:
Detect warning and not found, and exception condition correctly.
Multiple result sets from stored procedures now works with the
mysql and mysqltest clients.
client/mysqltest.c:
Post-merge fixes.
mysql-test/r/index_merge_innodb.result:
Post-merge fixes.
mysql-test/r/sp-error.result:
Post-merge fixes.
Removed now obsolete error test for multiple selects (without "into").
mysql-test/r/sp.result:
Post-merge fixes.
Added test for mulple result sets.
mysql-test/r/variables.result:
Post-merge fixes.
mysql-test/t/index_merge_innodb.test:
Post-merge fixes.
mysql-test/t/sp-error.test:
Post-merge fixes.
Removed now obsolete error test for multiple selects (without "into").
mysql-test/t/sp.test:
Post-merge fixes.
Added test for mulple result sets.
sql/lex.h:
Post-merge fixes.