mysql-test/r/view.result:
SHOW CREATE VIEW output changed
test of SHOW CREATE VIEW for view with spaces in the name
mysql-test/t/view.test:
test of SHOW CREATE VIEW for view with spaces in the name
sql/sql_show.cc:
fixes name outout for SHOW CREATE VIEW command
mysql-test/r/view.result:
Showing VIEW with VIEWs in subquery
mysql-test/t/view.test:
Showing VIEW with VIEWs in subquery
sql/sql_lex.cc:
new method to detect commands where all VIEWs should be temporary tables
sql/sql_lex.h:
new method to detect commands where all VIEWs should be temporary tables
sql/sql_view.cc:
new method to detect commands where all VIEWs should be temporary tables
debug output added
mysql-test/r/view.result:
Aggregate functions in view list
mysql-test/t/view.test:
Aggregate functions in view list
sql/table.cc:
fixed aggregate function processing in VIEWs
mysql-test/r/view.result:
added removing of table t2
test of view built over union
mysql-test/t/view.test:
added removing of table t2
test of view built over union
sql/sql_view.cc:
Fixed UNION support in view creation
mysql-test/r/view.result:
test of functions in VIEW which is converted to constants internally
mysql-test/t/view.test:
test of functions in VIEW which is converted to constants internally
sql/item.h:
items for functions which is converted to constants internally to support its correct printing
sql/item_create.cc:
items for functions which is converted to constants internally to support its correct printing
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.
mysql-test/r/view.result:
using VIEW where table is required
mysql-test/t/view.test:
using VIEW where table is required
sql/sql_base.cc:
sending right error message where VIEW is not expected
sql/sql_view.h:
frm_type_enum moved to table.h becuae used in TABLE_LIST
sql/table.h:
frm_type_enum moved to table.h becuae used in TABLE_LIST
Fix mysql-test failure in the 5.0 tree on Aug 23: label seems to be a reserved word in 5.0, and we to use it a s a column name we must but it inside backticks
mysql-test/t/innodb.test:
Fix mysql-test failure in the 5.0 tree on Aug 23: label seems to be a reserved word in 5.0, and we to use it a s a column name we must but it inside backticks
mysql-test/r/innodb.result:
Fix mysql-test failure in the 5.0 tree on Aug 23: label seems to be a reserved word in 5.0, and we to use it a s a column name we must but it inside backticks
mysql-test/r/view.result:
EXISTS with UNION VIEW creation test
mysql-test/t/view.test:
EXISTS with UNION VIEW creation test
sql/sql_lex.cc:
fixed LIMIT clause printing
mysql-test/r/view.result:
test of error processing found in preparation phase
mysql-test/t/view.test:
test of error processing found in preparation phase
sql/sql_view.cc:
fixed error processing of prepare
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/view.result:
Test of view updatebility in prepared statement
mysql-test/t/view.test:
Test of view updatebility in prepared statement
sql/sql_prepare.cc:
resolve UPDATE fields belonged to VIEWs as Item_field (instead of Item_ref) in prepared statements, too
Added a case for bug #4976 when one of the inner tables is empty.
select.result, join.result:
Reversed the previous change of the erronious fix for bug #4976.
sql_select.cc:
The previous fix for bug 4976 was reversed as it
erroniously converted an outer join into an innner join
when on_expression does not refer to outer tables.
This is not valid if inner tables return an empty set.
Setting dependency on outer tables was added for the above cases.
To fix the crash in the test case of bug #4976
a guard was added that blocks running the crashing code for
nested outer joins.
sql/sql_select.cc:
The previous fix for bug 4976 was reversed as it
erroniously converted an outer join into an innner join
when on_expression does not refer to outer tables.
This is not valid if inner tables return an empty set.
Setting dependency on outer tables was added.
The crash of the test case for bug #4976 was fixed
adding a guard that blocks running the code for
nested outer joins.
mysql-test/r/join.result:
Reversed the previous change of the erronious fix for bug #4976.
mysql-test/r/select.result:
Reversed the previous change of the erronious fix for bug #4976.
mysql-test/r/join_nested.result:
Added a case for bug #4976 when one of the inner tables is empty.
mysql-test/t/join_nested.test:
Added a case for bug #4976 when one of the inner tables is empty.
The crash is eliminated but still it is weird/inefficent that ROR-intersection is used when performing updates in empty table.
mysql-test/r/index_merge_ror_cpk.result:
Fix and testcase for BUG#4984
mysql-test/t/index_merge_ror_cpk.test:
Fix and testcase for BUG#4984
sql/opt_range.cc:
Don't call index_end() for CPK quick select inside of a ROR-intersection.
sql/opt_range.h:
Fix and testcase for BUG#4984
Fixed bug #4976.
join_nested.result, join_nested.test:
Added a test case for bug #4976.
sql_select.cc:
Applied conversion from an outer join to an inner join
when the on expression does not depend on the outer table.
It fixed bug #4976.
sql/sql_select.cc:
Applied conversion from an outer join to an inner join
when the on expression does not depend on the outer table.
It fixed bug #4976.
mysql-test/t/join_nested.test:
Added a case test for bug #4976.
mysql-test/r/join_nested.result:
Added a case test for bug #4976.
mysql-test/r/select.result:
Fixed bug #4976.
mysql-test/r/join.result:
Fixed bug #4976.
Added a test case for bug #4922.
sql_select.cc:
Blocked an optimization performed by join_read_const_table when
applied to an inner table of a nested outer join.
It was done to fix bug #4922.
sql_yacc.yy:
Fixed a typo bug in the rule for join_table.
sql/sql_yacc.yy:
Fixed a typo bug in the rule for join_table.
sql/sql_select.cc:
Blocked an optimization performed by join_read_const_table when
applied to an inner table of a nested outer join.
It was done to fix bug #4922.
mysql-test/t/join_nested.test:
Added a test case for bug #4922.
mysql-test/r/join_nested.result:
Added a test case for bug #4922.
...and added new test file, sp-threads, for multiple connection tests
(apart from the security tests that are in sp-security).
sql/sp.cc:
When removing an SP, invalidate the caches even if the
removing thread doesn't have one.
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.
Simply disallow it, just as we disallow creation of routines from within
other SPs.
include/mysqld_error.h:
New error code for when attempting to drop a stored routine from within
another stored routine.
mysql-test/r/sp-error.result:
New test case for BUG#4344.
mysql-test/t/sp-error.test:
New test case for BUG#4344.
sql/share/czech/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/danish/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/dutch/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/english/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/estonian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/french/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/german/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/greek/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/hungarian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/italian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/japanese/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/korean/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/norwegian-ny/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/norwegian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/polish/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/portuguese/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/romanian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/russian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/serbian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/slovak/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/spanish/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/swedish/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/ukrainian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/sql_yacc.yy:
Don't allow drop function/procedure from within another function/procedure.
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.
mysql-test/r/view.result:
using VIEW fields several times in query resolved via temporary tables
mysql-test/t/view.test:
using VIEW fields several times in query resolved via temporary tables
sql/item.h:
fixed using of result_field by Item_ref
sql/sql_base.cc:
Create Item_ref as reference on VIEW fields expression reference
sql/sql_insert.cc:
privent creating Item_ref in insert list (where Item_fields should be)
sql/sql_lex.cc:
Item_ref creation control
sql/sql_lex.h:
Item_ref creation control
sql/sql_update.cc:
privent creating Item_ref in insert list (where Item_fields should be) and creation Item_fields for UPDATE list
sql/table.cc:
Do not create Item_ref for internal view of view processing
mysql-test/r/view.result:
fixed ps variavles test
test of view built over updatable view
mysql-test/t/view.test:
fixed ps variavles test
test of view built over updatable view
sql/sql_acl.cc:
mpre optimal locking (found by Monty)
sql/sql_view.cc:
made different fields for view updatebility in principle and updatability during this execution
sql/table.h:
made different fields for view updatebility in principle and updatability during this execution
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/view.result:
check 'use index' on view with temporary table
mysql-test/t/view.test:
check 'use index' on view with temporary table
sql/sql_base.cc:
privent crash on temporary table