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
Bug#4521: unique prefix keys, fix for HEAP HASH and HEAP BTREE case insensitive collations.
mysql-test/t/ctype_utf8.test:
Bug#4521: unique prefix keys, fix for HEAP HASH and HEAP BTREE case insensitive collations.
The binlog files we use for some tests must be installed like other mysql-test/std_data/ files.
mysql-test/Makefile.am:
The binlog files we use for some tests must be installed like other mysql-test/std_data/ files.
Putting a * before 001 so that it works for 6-digit extensions of 4.1.
into avenger.(none):/export/brian/tina-4.1
acinclude.m4:
Auto merged
BitKeeper/deleted/.del-acconfig.h~8d2e3113fc8056da:
Auto merged
configure.in:
Auto merged
sql/Makefile.am:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
only MyISAM is fixed
include/m_ctype.h:
my_charpos() macro
myisam/mi_key.c:
apply UNIQUE constrain correctly for multi-byte charsets
mysql-test/r/binary.result:
new test
mysql-test/r/key.result:
apply UNIQUE constrain correctly for multi-byte charsets
mysql-test/t/binary.test:
new test
mysql-test/t/func_gconcat.test:
make test to pass w/o InnoDB
mysql-test/t/key.test:
apply UNIQUE constrain correctly for multi-byte charsets
LEFT() didn't work well in some cases.
sql/item_strfunc.cc:
LEFT() didn't work well in some cases.
mysql-test/t/ctype_utf8.test:
LEFT() didn't work well in some cases.
mysql-test/r/ctype_utf8.result:
LEFT() didn't work well in some cases.
mysql-test/r/func_gconcat.result:
fix of test queries
mysql-test/r/subselect.result:
resolving fields of grouped outer SELECT
mysql-test/t/func_gconcat.test:
fix of test queries
mysql-test/t/subselect.test:
resolving fields of grouped outer SELECT
sql/item.cc:
skip resolving field in table list if table list is not accessable due to groupping
layout fixed
sql/item_subselect.cc:
detection of place of subquery
sql/item_subselect.h:
detection of place of subquery
sql/mysql_priv.h:
enum_parsing_place made global type
sql/sql_lex.cc:
enum_parsing_place made global type
sql/sql_lex.h:
enum_parsing_place made global type
sql/sql_yacc.yy:
enum_parsing_place made global type
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.
#5024 [Ver]: Server crashes with queries on fields with certain charset/collation settings
sql/item.cc:
#5024 [Ver]: Server crashes with queries on fields with certain charset/collation settings
mysql-test/t/ctype_ucs.test:
#5024 [Ver]: Server crashes with queries on fields with certain charset/collation settings
mysql-test/r/ctype_ucs.result:
#5024 [Ver]: Server crashes with queries on fields with certain charset/collation settings
acconfig.h:
Adding HAVE CSV rule
acinclude.m4:
Build option of csv engine
configure.in:
Update for building CSV
sql/Makefile.am:
Added files for CSV build
sql/handler.cc:
Needed options for CSV to be created.
sql/handler.h:
CSV type engine enum.
sql/mysql_priv.h:
Addition of the have_csv_db variable.
sql/mysqld.cc:
Code to show csv option.
sql/set_var.cc:
Adding have show variables for both csv and example.
from the select list and TEXT field
make setup_copy_fields to insert Item_copy_string for blobs in
the beginning of the copy_funcs (push_back instead of push_front)
the thing is that Item_copy_string::copy for function can call
Item_copy_string::val_int for blob via Item_ref.
But if Item_copy_string::copy for blob isn't called before,
it's value will be wrong.
So all the Item_copy_string::copy for blobs should be called before
Item_copy_string::copy for functions.
mysql-test/r/having.result:
added test case for
Bug #4358 Problem with HAVING clause that uses
alias from the select list and TEXT field
mysql-test/t/having.test:
added test case for
Bug #4358 Problem with HAVING clause that uses
alias from the select list and TEXT field
sql/sql_select.cc:
make setup_copy_fields to insert Item_copy_string for blobs in
the beginning of the copy_funcs (push_back instead of push_front)
the thing is that Item_copy_string::copy for function can call
Item_copy_string::val_int for blob via Item_ref.
But if Item_copy_string::copy for blob isn't called before,
it's value will be wrong.
So all the Item_copy_string::copy for blobs should be called before
Item_copy_string::copy for functions.
fixed
Bug #4358 Problem with HAVING clause that
uses alias from the select list and TEXT field
mysql-test/r/subselect.result:
Optimized IN with compound index test
mysql-test/t/subselect.test:
Optimized IN with compound index test
sql/item_subselect.cc:
in case of compound index fill all parts
do not use '' as user in tests, because it picks the Unix login (which gives unexpected results if it is 'root')
(such behaviour is a feature of mysql_real_connect(), see the manual).
mysql-test/t/grant_cache.test:
do not use '' as user in tests, because it picks the Unix login (which gives unexpected results if it is 'root').
sql/slave.cc:
a comment
Added test case for bug #4767.
item_sum.cc:
Added a correct setting of the maybe_null flag for a copy of
an Item_sum object where the argument was a field of an inner table
in an outer join read from a temporary table.
It's part of the fix for bug #4767.
sql_select.cc:
Made change_refs_to_tmp_fields work correctly
for test case of bug #4767 where Item_sum::get_tmp_table_item
failed to build a correct copy of an Item_sum object referring
to a field in a temporary table.
It looks like a hack yet.
sql/sql_select.cc:
Made change_refs_to_tmp_fields work correctly
for test case of bug #4767 where Item_sum::get_tmp_table_item
failed to build a copy of an Item_sum object referring
to a field in a temporary table.
It looks like a hack yet.
sql/item_sum.cc:
Added a correct setting of maybe_null flag for copy of a
Item_sum object where there argument is a field of nullable table
read from the temporary table.
It's part of the fix for bug #4767.
mysql-test/r/olap.result:
Added test case for bug #4767.
mysql-test/t/olap.test:
Added test case for bug #4767.