into mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
mysql-test/r/myisam.result:
Auto merged
mysql-test/t/myisam.test:
Auto merged
sql/table.cc:
Auto merged
include/my_global.h:
Disable __attribute__ on g++ < 3.4. There are actually some forms of it that
are supported, but rather than create more ATTRIBUTE_<foo> macros to handle
them, it is easier to just disable them all. We will catch the compiler warnings
with more recent versions of g++.
Fix for bug 7894 replaces a field(s) in a non-aggregate function with a item
reference if such a field was specified in the GROUP BY clause in order to
get a correct result.
When ROLLUP is involved this lead to a wrong result due to value of a such
field is got through a copy function and copying happens after the function
evaluation.
Such replacement isn't needed if grouping is also done by such a function.
The change_group_ref() function now isn't called for a function present in
the group list.
mysql-test/t/olap.test:
Added the test case for the bug#20825: rollup puts non-equal values together
mysql-test/r/olap.result:
Added the test case for the bug#20825: rollup puts non-equal values together
sql/sql_select.cc:
Fixed bug#20825: rollup puts non-equal values together
The change_group_ref() function now isn't called for a function present in
the group list.
RTree keys are really different from BTree and need specific
paramters to be set by optimizer to work.
Sometimes optimizer doesn't set those properly.
Here we decided just to add code to check that the parameters
are correct. Hope to fix optimizer sometimes.
myisam/mi_range.c:
return the error if min_key is NULL
mysql-test/r/gis-rtree.result:
test result
mysql-test/t/gis-rtree.test:
test case
into rama.(none):/home/jimw/my/mysql-4.1-clean
include/my_global.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/mysqld.cc:
Resolve conflict
create_tmp_table()".
The fix for bug 21787 "COUNT(*) + ORDER BY + LIMIT returns wrong
result" introduced valgrind warnings which occured during execution
of information_schema.test and sp-prelocking.test in version 5.0.
There were no user visible effects.
The latter fix made create_tmp_table() dependant on
THD::lex::current_select value. Valgrind warnings occured when this
function was executed and THD::lex::current_select member pointed
to uninitialized SELECT_LEX instance.
This fix tries to remove this dependancy by moving some logic
outside of create_tmp_table() function.
sql/sql_select.cc:
create_tmp_table():
Moved code which is responsible for determining if optimization
which pushes down LIMIT clause to temporary table creation is
applicable out of this function.
Such move made this function independant of THD::lex::current_select
value and removed valgrind warnings which occured in cases when this
member pointed to uninitialized SELECT_LEX object (particularly these
warnings occured in sp-prelocking.test and information_schema.test
in 5.0). This seems like a better solution than trying to force this
pointer always to point to relevant select because:
- In some cases when we use create_tmp_table() there are no relevant
SELECT_LEX object (we use it just to create temporary table/object).
- There is only one place in code where we call this funciton and
where this optimization can be enabled. And in this place we
already have some logic which tries to determine if it is applicable.
mysql-test/r/analyse.result:
Added Results
mysql-test/t/analyse.test:
Added test cases to make sure field_str and field_real return correctly.
sql/sql_analyse.cc:
According the manaul, when declaring a FLOAT(M, N), N equals the number of decimal places and M equals the total number of
digits in the number.
Crash may happen when selecting from a merge table that has underlying
tables with less indexes than in a merge table itself.
If number of keys in merge table is not bigger than requested key number,
return error.
myisammrg/myrg_open.c:
Store min(number of keys) in m_info instead of number of keys in last
underlying table.
myisammrg/myrg_queue.c:
Return error if inx passed to _myrg_init_queue function is not less
than number of keys.
mysql-test/r/merge.result:
A test case for bug#21617.
mysql-test/t/merge.test:
A test case for bug#21617.
mysys/queues.c:
Replaced annoying ifndef DBUG_OFF with DBUG_ASSERT, fixed coding style.
The problem was that having queue overrun in debug build was hidden
with this ifdef.
post-review fixes as indicated by Serg.
manual testing of error cases done in 5.0 due to support for DBUG_EXECUTE_IF
to insert errors.
Unable to write test case for mysql-test until 5.1 due to support for setting
debug options at runtime.
sql/ha_blackhole.cc:
update for handler::info() now returning int
sql/ha_blackhole.h:
update for handler::info() now returning int
sql/ha_isam.cc:
update for handler::info() now returning int
sql/ha_isam.h:
update for handler::info() now returning int
sql/ha_isammrg.cc:
update for handler::info() now returning int
sql/ha_isammrg.h:
update for handler::info() now returning int
sql/item_sum.cc:
update for handler::info() now returning int.
return error to user if info call fails
sql/sql_delete.cc:
update for handler::info() now returning int.
return error to user if info call fails
sql/sql_select.cc:
update for handler::info() now returning int.
return error to user if info call fails
sql/sql_union.cc:
update for handler::info() now returning int.
return error to user if info call fails
Deletes on a big index could crash the index when it needs to
shrink.
Put a forgotten negation operator in.
No test case. It is too big for the test suite. And it does not
work with 4.0, only with higher versions. It is attached to the
bug report.
myisam/mi_delete.c:
Bug#22384 - DELETE FROM table causes "Incorrect key file for table"
Put a negation operator ('!') before _mi_get_last_key() in del().
It returns NULL on error, non-NULL on success.
handle also CS_CONNECTED as "abort" in handleFailedApi to keep from falling on assertion in releaseApiCon
in case of committed dirtyRead
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
handle also CS_CONNECTED as "abort" to keep from falling on assertion in releaseApiCon
in case of committed dirtyRead
Fix occational LCP hang!!!
Make sure only to consider alive nodes in startNextChkpt
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Make sure only to consider alive nodes in startNextChkpt
ndb/tools/restore/consumer.hpp:
added a function to judge whether there is temporary error.
ndb/tools/restore/consumer_restore.cpp:
record when temporary error occured in restore.
ndb/tools/restore/consumer_restore.hpp:
added a member to record temporary error in restore.
ndb/tools/restore/restore_main.cpp:
report temporary error in restore.
an ALL/ANY quantified subquery in HAVING.
The Item::split_sum_func2 method should not create Item_ref
for objects of any class derived from Item_subselect.
mysql-test/r/subselect.result:
Added a test case for bug #21853.
mysql-test/t/subselect.test:
Added a test case for bug #21853.
Filter out plain -O and Sun C/C++ style optimization flags, -xO<level>
Filter out icc specific options from cflags/libs(_r)
scripts/mysql_config.sh:
Filter out plain -O and Sun C/C++ style optimization flags, -xO<level>