index_read(), whereas it must return HA_ERR_END_OF_FILE
instead (as there are by definition no rows in a table of
that engine.
mysql-test/r/blackhole.result:
Bug#19717: test case
mysql-test/t/blackhole.test:
Bug#19717: test case
sql/ha_blackhole.cc:
Bug#19717: return no rows instead of success.
into bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
BitKeeper/etc/gone:
auto-union
mysys/my_getopt.c:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/select.result:
Manual merge
mysql-test/t/select.test:
Manual merge
into pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint
BitKeeper/etc/gone:
auto-union
mysys/my_getopt.c:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/table.cc:
Auto merged
ENUMs weren't allowed to have character 0xff, a perfectly good character in some locales.
This was circumvented by mapping 0xff in ENUMs to ',', thereby prevent actual commas from
being used. Now if 0xff makes an appearance, we find a character not used in the enum and
use that as a separator. If no such character exists, we throw an error.
Any solution would have broken some sort of existing behaviour. This solution should
serve both fractions (those with 0xff and those with ',' in their enums), but
WILL REQUIRE A DUMP/RESTORE CYCLE FROM THOSE WITH 0xff IN THEIR ENUMS. :-/
That is, mysqldump with their current server, and restore when upgrading to one with
this patch.
mysql-test/r/type_enum.result:
Bug#24660: "enum" field type definition problem
Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable
char in some locales), or ',', or both.
mysql-test/t/type_enum.test:
Bug#24660: "enum" field type definition problem
Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable
char in some locales), or ',', or both.
sql/table.cc:
Bug#24660: "enum" field type definition problem
Revert fix for Bug#20922.
sql/unireg.cc:
Bug#24660: "enum" field type definition problem
Use a field-separator for ENUM-values that is not part of those values. If impossible,
throw error.
The crash happens because second filling of the same I_S table happens in
case of subselect with order by. table->sort.io_cache previously allocated
in create_sort_index() is deleted during second filling
(function get_schema_tables_result). There are two places where
I_S table can be filled: JOIN::exec and create_sort_index().
To fix the bug we should check if the table was already filled
in one of these places and skip processing of the table in second.
mysql-test/r/information_schema.result:
test case
mysql-test/t/information_schema.test:
test case
sql/mysql_priv.h:
added new parameter 'executed_place' to function get_schema_tables_result()
sql/sql_select.cc:
added new parameter 'executed_place' to function get_schema_tables_result()
sql/sql_show.cc:
added more accurate check for cases when we need to refresh I_S table
sql/table.cc:
added more accurate check for cases when we need to refresh I_S table
sql/table.h:
added more accurate check for cases when we need to refresh I_S table
Some fields (GEOMETRY first of all) can't be handled properly in this
case at all. So we return an error in this case
mysql-test/r/default.result:
result fixed
mysql-test/r/gis.result:
result fixed
mysql-test/t/default.test:
VIEW test added
mysql-test/t/gis.test:
testcase added
sql/item.cc:
set_defaults() changed with the 'reset()'
The function make_unireg_sortorder ignored the fact that any
view field is represented by a 'ref' object.
This could lead to wrong results for the queries containing
both GROUP BY and ORDER BY clauses.
mysql-test/r/view.result:
Added a test case for bug #26209.
mysql-test/t/view.test:
Added a test case for bug #26209.
Post fix for bug#12122.
information_schema.result:
Corrected test case after fixing bug#12122.
sql/sql_view.cc:
Post fix for bug#12122.
mysql-test/r/information_schema.result:
Corrected test case after fixing bug#12122.
A wrong order of statements in QUICK_GROUP_MIN_MAX_SELECT::reset
caused a crash when a query with DISTINCT was executed by a loose scan
for an InnoDB table that had been emptied.
mysql-test/r/innodb_mysql.result:
Added a test case for bug #26159.
mysql-test/t/innodb_mysql.test:
Added a test case for bug #26159.
sql/opt_range.cc:
Fixed bug #26159.
A wrong order of statements in QUICK_GROUP_MIN_MAX_SELECT::reset
caused a crash when a query with DISTINCT was executed by a loose scan
for an InnoDB table that had been emptied.
For an empty table quick_prefix_select->reset() was not called at all
and thus some important initialization steps were missing.
present.
A view created with CREATE VIEW ... ORDER BY ... cannot be resolved with
the MERGE algorithm, even when no other part of the CREATE VIEW statement
would require the view to be resolved using the TEMPTABLE algorithm.
The check for presence of the ORDER BY clause in the underlying select is
removed from the st_lex::can_be_merged() function.
The ORDER BY list of the underlying select is appended to the ORDER BY list
mysql-test/t/view.test:
Added a test case for bug#12122: Views with ORDER BY can't be resolved using MERGE algorithm.
mysql-test/r/view.result:
Added a test case for bug#12122: Views with ORDER BY can't be resolved using MERGE algorithm.
sql/sql_lex.cc:
Bug#12122: Views with ORDER BY can't be resolved using MERGE algorithm.
The st_lex::can_be_merged() function now allows views with the ORDER BY
clause to be resolved using MERGE algorithm. The ORDER BY list of the view
is appended to the ORDER BY list of the embedding select.
Objects of the class Item_equal contain an auxiliary member
eval_item of the type cmp_item that is used only for direct
evaluation of multiple equalities. Currently a multiple equality
is evaluated directly only in the cases when the equality holds
at most for one row in the result set.
The compare collation of eval_item was determined incorectly.
It could lead to returning incorrect results for some queries.
mysql-test/r/join_outer.result:
Added a test case for bug #26017.
mysql-test/t/join_outer.test:
Added a test case for bug #26017.
sql/item_cmpfunc.cc:
Fixed bug #26017.
Objects of the class Item_equal contain an auxiliary member
eval_item of the type cmp_item that is used only for direct
evaluation of multiple equalities. Currently a multiple equality
is evaluated directly only in the cases when the equality holds
at most for one row in the result set.
The compare collation of eval_item was determined incorrectly.
It could lead to returning incorrect results for some queries.
sql/item_cmpfunc.h:
Fixed bug #26017.
Removed the cmp_collation member from the Item_equal class as useless
for the current implementation of the class.
inserted.
The select_insert::send_eof() function now resets LAST_INSERT_ID variable if
no rows were inserted.
mysql-test/t/insert_select.test:
Added a test case for bug#23170: LAST_INSERT_ID isn't reset to 0 in INSERT .. SELECT when no rows were inserted.
mysql-test/r/insert_select.result:
Added a test case for bug#23170: LAST_INSERT_ID isn't reset to 0 in INSERT .. SELECT when no rows were inserted.
sql/sql_insert.cc:
Bug#23170: LAST_INSERT_ID isn't reset to 0 in INSERT .. SELECT when no rows were
inserted.The select_insert::send_eof() function now resets LAST_INSERT_ID variable if
no rows were inserted.
View check option clauses were ignored for updates of multi-table
views when the updates could not be performed on fly and the rows
to update had to be put into temporary tables first.
mysql-test/r/view.result:
Added a test case for bug #25931.
mysql-test/t/view.test:
Added a test case for bug #25931.
Adjusted another existed test case to have the correct result.
sql/sql_update.cc:
Fixed bug #25931.
View check option clauses were ignored for updates of multi-table
views when the updates could not be performed on fly and the rows
to update had to be put into temporary tables first.
Added the required check to multi_update::do_updates to fix the problem.
into mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
ndb/include/ndbapi/NdbIndexScanOperation.hpp:
Auto merged
ndb/include/ndbapi/NdbScanOperation.hpp:
Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
with a column of the DATETIME type could return a wrong
result set if the WHERE clause included a BETWEEN condition
on the column.
Fixed the method Item_func_between::fix_length_and_dec
where the aggregation type for BETWEEN predicates calculated
incorrectly if the first argument was a view column of the
DATETIME type.
mysql-test/r/view.result:
Added a test case for bug #26124.
mysql-test/t/view.test:
Added a test case for bug #26124.
updated.
INSERT ... ON DUPLICATE KEY UPDATE reports that a record was updated when
the duplicate key occurs even if the record wasn't actually changed
because the update values are the same as those in the record.
Now the compare_record() function is used to check whether the record was
changed and the update of a record reported only if the record differs
from the original one.
sql/sql_update.cc:
Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were
updated.
The compare_record() function was changed to non-static one.
sql/sql_insert.cc:
Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were
updated.
Now the compare_record() function is used to check whether the record was
changed and the update of a record reported only if the record differs
from the original one.
sql/mysql_priv.h:
Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were
updated.
Added the prototype of the compare_record() function.
mysql-test/t/insert_select.test:
Added a test case for bug#19978: INSERT .. ON DUPLICATE erroneously reports
some records were updated.
mysql-test/r/insert_select.result:
Added a test case for bug#19978: INSERT .. ON DUPLICATE erroneously reports
some records were updated.
into pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/range.result:
Auto merged
mysql-test/t/range.test:
Auto merged
mysys/default.c:
Auto merged
scripts/mysqld_multi.sh:
Auto merged
sql/field.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Merfge backport
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
Makefile.am:
Auto merged
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysys/default.c:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/select.result:
Manual merge
mysql-test/t/select.test:
Manual merge
analyse
We have to call fix_fields() for procedure analyse' arguments as they may
not be
fixed in some circumstances.
(as the crash appears when mysqld starts skipping binlog, a test case
will be added when we can --skip-bin-log in -master.opt)
sql/sql_analyse.cc:
Fix for bug #23782: Stored procedures: crash if variable in procedure
analyse
- call fix_fields() if arguments are not fixed.
Ignoring error codes from type conversion allows default (wrong) values to
go unnoticed in the formation of index search conditions.
Fixed by correctly checking for conversion errors.
mysql-test/r/select.result:
Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
- test case
mysql-test/t/select.test:
Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
- test case
sql/field.h:
Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
- don't ignore coversion errors
sql/field_conv.cc:
Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
- don't ignore coversion errors
sql/item.cc:
Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
- don't ignore coversion errors
mysys/my_getopt.c:
Fixes problem with getting output lines from
my_getopt in random places in tests.
sql/sql_prepare.cc:
Fixes problem with failing mysql_client_test
on some machines. This is actually a problem
with prepared statements.