into chilla.local:/home/mydev/mysql-4.1-axmrg
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/symlink.test:
Auto merged
sql/mysqld.cc:
Auto merged
Notes:
This patch doesn't fix all issues in the tree and we need jani's fix for that
This patch shoud not be merged into 5.0
mysql-test/r/ps.result:
result fix
mysql-test/r/symlink.result:
result fix
mysql-test/t/ps.test:
test is moved to 'symlink' test
mysql-test/t/symlink.test:
test from 'ps' test
sql/field_conv.cc:
valgrind error fix: backport from 5.0
sql/mysqld.cc:
release of ssl_context
vio/viosslfactories.c:
release of ssl_context
mysql-test/valgrind.supp:
New BitKeeper file ``mysql-test/valgrind.supp''
This file is backported from 5.0, added suppressing of OpenSSL errors
When a merge table is opened compare column and key definition of
underlying tables against column and key definition of merge table.
If any of underlying tables have different column/key definition
refuse to open merge table.
mysql-test/r/merge.result:
A test case for WL#3456.
mysql-test/t/merge.test:
A test case for WL#3456.
sql/ha_myisam.cc:
Moved a part of code that converts TABLE object to MyISAM key and column
definition to a separate function.
Added check_definition() function that compares MyISAM table definitions.
sql/ha_myisammrg.cc:
Check if underlying table definition conforms to merge table definition,
and in case underlying table definition differs, refuse to open merge
table.
into chilla.local:/home/mydev/mysql-4.1-axmrg
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/symlink.test:
Auto merged
mysql-test/r/myisam.result:
Manual merged
mysql-test/t/myisam.test:
Manual merged
The bug report has demonstrated the following two problems.
1. If an ORDER/GROUP BY list includes a constant expression being
optimized away and, at the same time, containing single-row
subselects that return more that one row, no error is reported.
Strictly speaking the standard allows to ignore error in this case.
Yet, now a corresponding fatal error is reported in this case.
2. If a query requires sorting by expressions containing single-row
subselects that, however, return more than one row, then the execution
of the query may cause a server crash.
To fix this some code has been added that blocks execution of a subselect
item in case of a fatal error in the method Item_subselect::exec.
mysql-test/r/subselect.result:
Added a test cases for bug #24653.
mysql-test/t/subselect.test:
Added a test cases for bug #24653.
sql/filesort.cc:
Fixed bug #24653.
Added a check for fatal error after reading the next row from the table
in the function find_all_keys.
sql/item.cc:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item.h:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.cc:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.h:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_func.cc:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_subselect.cc:
Fixed bug #24653.
Added a check for fatal error in the method Item_subselect::exec
to block evaluation of subselects in erroneous situations.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/sql_select.cc:
Fixed bug #24653.
Added a check to verify that any constant expression used
in ORDER BY and/or GROUP BY lists which is optimized away
does not contain subselects returning more than one row.
If it does a fatal error is reported.
Fixed test. On 32-bit machines which compile without
-DBIG_TABLES, MAX_ROWS is truncated to a 32-bit value.
Using a value below 4G is portable.
mysql-test/r/myisam.result:
Bug#24607 - MyISAM pointer size determined incorrectly
Fixed test results.
The bug is actually a duplicate of the bug 14708.
Down-ported the fix for 14708 from 5.0.
Merged the test case for bug 14708 from 5.0.
mysql-test/r/fulltext_left_join.result:
Added a test case for bug #25637 (duplicate .of bug 14708).
Merged the test case for bug 14708 from 5.0.
mysql-test/t/fulltext_left_join.test:
Added a test case for bug #25637 (duplicate of bug 14708).
Merged the test case for bug 14708 from 5.0.
sql/item_func.cc:
Fixed bug #25637: LEFT JOIN with BOOLEAN FULLTEXT loses left table matches.
The bug is actually a duplicate of the bug 14708.
Down-ported the fix for 14708 from 5.0.
into kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build-work
BUILD/check-cpu:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/r/ndb_types.result:
update results
mysql-test/t/ndb_types.test:
Sleep a bit longer, to ensure that timestamp changes between:
set @now = now();
and:
insert into/update t1
Test case failed (select timestamp>@now from t1 ==> 0, should be 1), and passed when run again. This should(?) avoid that fluke.
Clean up test file a bit while I'm here.
Bug #25000 myisam.test fails on 'pb-valgrind-*' Valgrind
- Move tests that need symlink to symlink.test
mysql-test/r/myisam.result:
- Move tests that need symlink to symlink.test
mysql-test/r/symlink.result:
- Move tests that need symlink to symlink.test
mysql-test/t/myisam.test:
- Move tests that need symlink to symlink.test
mysql-test/t/symlink.test:
- Move tests that need symlink to symlink.test
into pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint
mysql-test/t/mysqladmin.test:
Auto merged
mysys/mf_iocache.c:
Auto merged
mysys/my_read.c:
Auto merged
mysys/my_seek.c:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/t/backup.test:
Backport a patch for sporadically failing myisam.test (and now ps.test)
from 5.0. The cause was in backup.test not cleaning up tables in
mysqltest-vardir/tmp after itself.
mysql-test/t/ps.test:
Add additional protection against possible failure in the middle of
backup.test
into bodhi.local:/opt/local/work/mysql-4.1-4968-to-push
sql/mysql_priv.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Manual merge.
sql/sql_table.cc:
Manual merge.
for queries using 'range checked for each record'.
The problem was fixed in 5.0 by the patch for bug 12291.
This patch down-ported the corresponding code from 5.0 into
QUICK_SELECT::init() and added a new test case.
mysql-test/r/range.result:
Added a test case for bug #24776.
mysql-test/t/range.test:
Added a test case for bug #24776.
sql/opt_range.h:
Fixed bug #24776: an assertion abort in handler::ha_index_init
for queries using 'range checked for each record'.
The problem was fixed in 5.0 by the patch for bug 12291.
The patch for 4.1 down-ported the corresponding code from 5.0 into
QUICK_SELECT::init().
correctly.
The Item_func::print method was used to print the Item_func_encode and the
Item_func_decode objects. The last argument to ENCODE and DECODE functions
is a plain C string and thus Item_func::print wasn't able to print it.
The print() method is added to the Item_func_encode class. It correctly
prints the Item_func_encode and the Item_func_decode objects.
mysql-test/t/func_str.test:
Added a test case for bug#23409: Arguments of the ENCODE() and the
> DECODE() functionswere not printed correctly.
mysql-test/r/func_str.result:
Added a test case for bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
sql/item_strfunc.h:
Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
The print() method is added to the Item_func_encode class.
sql/item_strfunc.cc:
Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
The print() method is added to the Item_func_encode class. It correctly
prints the Item_func_encode and the Item_func_decode objects.
WHERE is present.
If a DELETE statement with ORDER BY and LIMIT contains a WHERE clause
with conditions that for sure cannot be used for index access (like in
WHERE @var:= field) the execution always follows the filesort path.
It happens currently even when for the above case there is an index that
can be used to speedup sorting by the order by list.
Now if a DELETE statement with ORDER BY and LIMIT contains such WHERE
clause conditions that cannot be used to build any quick select then
the mysql_delete() tries to use an index like there is no WHERE clause at all.
mysql-test/t/delete.test:
Added a test case for bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting
WHERE is present.
mysql-test/r/delete.result:
Added a test case for bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting WHERE is present.
sql/sql_delete.cc:
Bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting WHERE is present.
Now if a DELETE statement with ORDER BY and LIMIT contains such WHERE
clause conditions that cannot be used to build any quick select then
the mysql_delete() tries to use an index like there is no WHERE clause at all.
In the method Item_field::fix_fields we try to resolve the name of
the field against the names of the aliases that occur in the select
list. This is done by a call of the function find_item_in_list.
When this function finds several occurrences of the field name
it sends an error message to the error queue and returns 0.
Yet the code did not take into account that find_item_in_list
could return 0 and tried to dereference the returned value.
mysql-test/r/order_by.result:
Added a test case for bug #25427.
mysql-test/t/order_by.test:
Added a test case for bug #25427.
sql/item.cc:
Fixed bug #25427.
In the method Item_field::fix_fields we try to resolve the name of
the field against the names of the aliases that occur in the select
list. This is done by a call of the function find_item_in_list.
When this function finds several occurrences of the field name
it sends an error message to the error queue and returns 0.
Yet the code did not take into account that find_item_in_list
could return 0 and tried to dereference the returned value.
The function mi_get_pointer_length() computed too small
pointer size for very large tables.
Inserted missing 'else' between the branches for very
large tables.
myisam/mi_create.c:
Bug#24607 - MyISAM pointer size determined incorrectly
Inserted missing 'else' between the branches for very
large tables.
Harmonized literals "(longlong) 1" and "1L" to "ULL(1)"
where they are used for "ulonglong file_length".
mysql-test/r/myisam.result:
Bug#24607 - MyISAM pointer size determined incorrectly
Added the test result.
mysql-test/t/myisam.test:
Bug#24607 - MyISAM pointer size determined incorrectly
Added the test.
libmysqld/lib_sql.cc:
error message moved to 'stmt'
mysql-test/t/distinct.test:
temporary disabled in embedded server
mysql-test/t/mysqladmin.test:
disabled in embedded server
sql/sql_prepare.cc:
superfluous #ifndef removed
Added definitions for the following Hebrew characters as specified by the ISO/IEC 8859-8:1999:
LEFT-TO-RIGHT MARK (LRM)
RIGHT-TO-LEFT MARK (RLM)
sql/share/charsets/hebrew.xml:
Added definitions for the following Hebrew characters as specified by the ISO/IEC 8859-8:1999:
LEFT-TO-RIGHT MARK (LRM)
RIGHT-TO-LEFT MARK (RLM)
strings/conf_to_src.c:
Added a warning comment in the generated C source file.
strings/ctype-extra.c:
Re-generated from sql/share/charsets/hebrew.xml
mysql-test/r/ctype_hebrew.result:
Added the test case for bug #24037 "Lossy Hebrew to Unicode conversion"
mysql-test/t/ctype_hebrew.test:
Added the test case for bug #24037 "Lossy Hebrew to Unicode conversion"
An update that used a join of a table to itself and modified the
table on one side of the join reported the table as crashed or
updated wrong rows.
Fixed by creating temporary table for self-joined multi update statement.
mysql-test/r/myisam.result:
A test case for BUG#21310.
mysql-test/t/myisam.test:
A test case for BUG#21310.
sql/lock.cc:
Exclude 'table' param from check.
sql/sql_update.cc:
Disabling record cache for self-joined multi update statement is wrong.
The join must only see the table as it was at the beginning of the statement.
safe_update_on_fly check if it is safe to update first table on the fly, that is
not creating temporary table. It is possible in case a row from this table is
never read more than once. safe_update_on_fly now detect self-joined table and
refuse to update this table on the fly.