Problem: If INSERT is immediately followed by SELECT in another thread,
the newly inserted rows may not be returned by the SELECT statement, if
ENGINE=myisam and @@concurrent_insert=1. This caused sporadic errors in
rpl_insert_id.
Fix: The test now uses ENGINE=$engine_type when creating tables (so that
innodb is used). It also turns off @@concurrent_insert around the critical
place, so that it works if someone in the future writes a test that sets
$engine_type=myisam before sourcing extra/rpl_tests/rpl_insert_id.test.
It also adds ORDER BY to all SELECTs so that the result is deterministic.
mysql-test/extra/rpl_tests/rpl_insert_id.test:
- Use ENGINE=$engine_type when creating tables, since that's expected by
suite/rpl/t/rpl_insert_id.test.
- Use ORDER BY to avoid nondeterministic results from SELECT.
- Set @@concurrent_insert=0 before doing SELECT after INSERT in another
client.
mysql-test/suite/rpl/r/rpl_insert_id.result:
Update result file.
- a 64 bit compile warning in embedded
- disabled the new (and failing tests for Bug#36522
libmysqld/lib_sql.cc:
Fixed: win64 warning
mysql-test/t/disabled.def:
Disabled the new (and failing) tests for 36522
Addresses the following bugs:
Change the fix for Bug#32440 to show bytes instead of kilobytes in
INFORMATION_SCHEMA.TABLES.DATA_FREE.
branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected
In InnoDB, the row count is only a rough estimate used by SQL
optimization. InnoDB is now return row count 0 for TRUNCATE operation.
branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
and handler_delete
Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
and ha_innobase::update_row().
Fix Bug#36169 create innodb compressed table with too large row size crashed
Sometimes it is possible that
row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in
row_create_index_for_mysql() when the index object is freed so copy the
table name to a safe place beforehand and use the copy.
Fix Bug#36434 ha_innodb.so is installed in the wrong directory
Change pkglib_LTLIBRARIES with pkgplugin_LTLIBRARIES which has been
forgotten in this commit: http://lists.mysql.com/commits/40206
mysql-test/r/innodb.result:
Apply InnoDB snapshot innodb-5.1-ss2438.
Revision r2420:
branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected
In InnoDB, the row count is only a rough estimate used by SQL
optimization. InnoDB is now return row count 0 for TRUNCATE operation.
Revision r2421:
branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
and handler_delete
Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
and ha_innobase::update_row().
mysql-test/t/innodb.test:
Apply InnoDB snapshot innodb-5.1-ss2438.
Revision r2420:
branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected
In InnoDB, the row count is only a rough estimate used by SQL
optimization. InnoDB is now return row count 0 for TRUNCATE operation.
Revision r2421:
branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
and handler_delete
Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
and ha_innobase::update_row().
storage/innobase/Makefile.am:
Apply InnoDB snapshot innodb-5.1-ss2438.
Revision r2429:
branches/5.1:
* Use INNODB_CFLAGS insead of cluttering CFLAGS with InnoDB specific
flags. CFLAGS are used to compile every file in the MySQL source tree.
* Add INNODB_DYNAMIC_CFLAGS to the flags of the dynamic plugin and use
-prefer-non-pic to make the dynamic plugin faster on i386.
Approved by: Sunny
Revision r2437:
branches/5.1:
Fix Bug#36434 ha_innodb.so is installed in the wrong directory
Change pkglib_LTLIBRARIES with pkgplugin_LTLIBRARIES which has been
forgotten in this commit: http://lists.mysql.com/commits/40206
Revision r2430:
branches/5.1:
Use CFLAGS instead of INNODB_CFLAGS to avoid having incompatible flags
inserted in CFLAGS and INNODB_CFLAGS and to avoid compiling mysql and
innodb with different flags.
Discussed with: Sunny
Revision r2434:
branches/5.1:
Merge changes from MySQL:
ChangeSet@1.2645, 2007-12-19 13:24:43+00:00, jperkin@chorlton.adsl.perkin.org.uk +14 -0
Add new pkgplugindir handling to seperate plugins from libraries,
and allow override for binary distributions. Extend mysql_config
to print compiled-in plugin location for third-party plugins to
use. Resolves bug#31736.
and
ChangeSet@1.2646, 2008-01-02 13:00:46+00:00, jperkin@chorlton.adsl.perkin.org.uk +11 -0
Use pkglibdir to simplify pkgplugindir, and fix the path in a
couple of Makefiles. Continuation of the fix for bug#31736.
Revision r2436:
branches/5.1:
Non-functional white space change in Makefile.am:
Use tabs for indentation and be consistent about spaces around the
equal sign.
storage/innobase/handler/ha_innodb.cc:
Apply InnoDB snapshot innodb-5.1-ss2438.
Revision r2419:
branches/5.1:
Change the fix for Bug#32440 to show bytes instead of kilobytes in
INFORMATION_SCHEMA.TABLES.DATA_FREE.
Suggested by: Domas Mituzas <domas@mysql.com>
Approved by: Heikki
Revision r2435:
branches/5.1:
Merge change from MySQL:
ChangeSet@1.2563, 2008-03-18 19:42:04+04:00, gluh@mysql.com +1 -0
Bug#35406 5.1-opt crashes on select from I_S.REFERENTIAL_CONSTRAINTS
added intialization of f_key_info.referenced_key_name for the case when
referenced table is dropped
Revision r2420:
branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected
In InnoDB, the row count is only a rough estimate used by SQL
optimization. InnoDB is now return row count 0 for TRUNCATE operation.
Revision r2421:
branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
and handler_delete
Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
and ha_innobase::update_row().
storage/innobase/plug.in:
Apply InnoDB snapshot innodb-5.1-ss2438.
Revision r2429:
branches/5.1:
* Use INNODB_CFLAGS insead of cluttering CFLAGS with InnoDB specific
flags. CFLAGS are used to compile every file in the MySQL source tree.
* Add INNODB_DYNAMIC_CFLAGS to the flags of the dynamic plugin and use
-prefer-non-pic to make the dynamic plugin faster on i386.
Approved by: Sunny
Revision r2432:
branches/5.1:
Non-functional change: use tabs for indentation in plug.in.
Revision r2431:
branches/5.1:
Fix r2430, it should be CFLAGS="$CFLAGS ..." not CFLAGS="..."
Revision r2430:
branches/5.1:
Use CFLAGS instead of INNODB_CFLAGS to avoid having incompatible flags
inserted in CFLAGS and INNODB_CFLAGS and to avoid compiling mysql and
innodb with different flags.
Discussed with: Sunny
Revision r2433:
branches/5.1:
Add vim modeline to hint it that plug.in is a config file
so it can be colorized.
storage/innobase/row/row0mysql.c:
Apply InnoDB snapshot innodb-5.1-ss2438.
Revision r2422:
branches/5.1:
Fix Bug#36169 create innodb compressed table with too large row size crashed
Sometimes it is possible that
row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in
row_create_index_for_mysql() when the index object is freed so copy the
table name to a safe place beforehand and use the copy.
Approved by: Sunny
storage/innobase/row/row0sel.c:
Apply InnoDB snapshot innodb-5.1-ss2438.
Revision r2388:
branches/5.1:
Swap the order in which mysql_thd, mysql_query_str and *mysql_query_str
are checked for non-NULL.
Suggested by: Marko
Enable previously disabled test cases which were tested against
the embedded build. The test cases are modified so that they require
non-embedded build.
mysql-test/t/disabled.def:
Re-enabled event_scheduler_basic and event_scheduler_func since
these tests aren't suppose to work in embedded build anyway.
mysql-test/t/event_scheduler_basic.test:
Require that this test isn't run on embedded build
mysql-test/t/event_scheduler_func.test:
Require that this test isn't run on embedded build
Missing file: include/is_embedded.inc
This file was left out of the initial changeset by misstake.
mysql-test/include/is_embedded.inc:
Missing file patch: include/is_embedded.inc
The event scheduler was not designed to work in embedded mode. This
patch disables and excludes the event scheduler when the server is
compiled for embedded build.
libmysqld/Makefile.am:
Reduce the amount of event code in an embedded build.
mysql-test/t/events_trans.test:
Disable test if run in embedded mode.
sql/Makefile.am:
Introduce definition HAVE_EVENT_SCHEDULER and one new source file.
sql/event_data_objects.cc:
Refactor Event_parse_data to new file.
sql/event_data_objects.h:
Refactor Event_parse_data to new file.
Move global definitions to new file.
sql/event_queue.cc:
Move all parsed items to Event_parse_data for easier modularization.
sql/events.cc:
Move all parsed items to Event_parse_data for easier modularization.
sql/mysqld.cc:
Disable the event schedular subsystem if the server is compiled in
embedded mode.
sql/set_var.cc:
Disable the event schedular subsystem if the server is compiled in
embedded mode.
sql/set_var.h:
Disable the event schedular subsystem if the server is compiled in
embedded mode.
sql/sql_db.cc:
Disable the event schedular subsystem if the server is compiled in
embedded mode.
sql/sql_parse.cc:
Disable the event schedular subsystem if the server is compiled in
embedded mode.
sql/sql_show.cc:
Disable the event schedular subsystem if the server is compiled in
embedded mode.
sql/sql_test.cc:
Disable the event schedular subsystem if the server is compiled in
embedded mode.
sql/sql_yacc.yy:
Only include event-code needed for parsing to reduce impact on embedded
build.
Move all constants to Event_parse_data class.
mysql-test/r/events_embedded.result:
Add test case to make sure the 'event_scheduler' can't be activated
in embedded mode.
mysql-test/r/is_embedded.require:
Add test case to make sure the 'event_scheduler' can't be activated
in embedded mode.
mysql-test/t/events_embedded.test:
Add test case to make sure the 'event_scheduler' can't be activated
in embedded mode.
sql/event_parse_data.cc:
New file. Extracted Event_parse data into a new file.
sql/event_parse_data.h:
New file. Extracted Event_parse data into a new file.
test change for 5.1+ (show create view adds two columns in 5.1)
Patch only for 5.1+
mysql-test/suite/rpl/r/rpl_sp.result:
restored the original 5.1 test result
mysql-test/suite/rpl/r/rpl_view.result:
Bug#32575: Parse error of stmt with extended comments on slave side
Updated test result for show create view in 5.0 to 5.1
into client-10-129-10-147.upp.off.mysql.com:/Users/mattiasj/clones/topush-51-bugteam
mysql-test/suite/rpl/r/rpl_sp.result:
Auto merged
mysql-test/suite/rpl/t/rpl_view.test:
Auto merged
sql/sql_view.cc:
This was already fixed in 5.1
mysql-test/suite/rpl/r/rpl_view.result:
manual merge
Problem was that mysql_create_view did not remove all comments characters
when writing to binlog, resulting in parse error of stmt on slave side.
Solution was to use the recreated select clause
and add a generated CHECK OPTION clause if needed.
mysql-test/r/rpl_sp.result:
Bug#32575 - Parse error of stmt with extended comments on slave side
Updated test result
mysql-test/r/rpl_view.result:
Bug#32575 - Parse error of stmt with extended comments on slave side
Updated test result
mysql-test/t/rpl_view.test:
Bug#32575 - Parse error of stmt with extended comments on slave side
Added test case
sql/sql_view.cc:
Bug#32575 - Parse error of stmt with extended comments on slave side
Problem was that mysql_create_view did not remove all comments characters
when writing to binlog, resulting in parse error of stmt on slave side.
Solution was to use the recreated select clause and generate
'WITH {LOCAL|CASCADED} CHECK OPTION'.
Temporarily checking in an incorrect test case. Rationale: the impact of
this bug is negligible (it's almost a feature request). We need 5.1 to be
stable, and making a real fix is a bit risky. So the fix is postponed
to 6.0.
mysql-test/suite/rpl/r/rpl_ddl.result:
Updated result file.
mysql-test/suite/rpl/t/disabled.def:
Enabling test case rpl_ddl.test
The test suite/rpl/t/rpl_innodb_bug28430.test was disabled because of
BUG#32247, but not re-enabled when BUG#32247 was fixed. I've re-enabled
it. The test and result file needed to be updated too.
mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
Updated result file.
mysql-test/suite/rpl/t/disabled.def:
Enabled the rpl_innodb_bug28430 test case.
mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
show slave status is not needed since we have select count(*)
- Disable the "prefer full scan on clustered primary key over full scan
of any secondary key" rule introduced by BUG#35850.
- Update test results accordingly
(bk trigger: file this for BUG#35850)
mysql-test/r/innodb.result:
BUG#35850 "Performance regression in 5.1.23/5.1.24"
- Update test results
mysql-test/r/innodb_mysql.result:
BUG#35850 "Performance regression in 5.1.23/5.1.24"
- Testcase
- Update test results
mysql-test/r/join_outer_innodb.result:
BUG#35850 "Performance regression in 5.1.23/5.1.24"
- Update test results
mysql-test/t/innodb_mysql.test:
BUG#35850 "Performance regression in 5.1.23/5.1.24"
- Testcase
sql/sql_select.cc:
BUG#35850 "Performance regression in 5.1.23/5.1.24"
- Disable the "prefer full scan on clustered primary key over full scan
of any secondary key" rule introduced by BUG#35850.
The problem is that the patch for Bug 33464 didn't update the
results of the test cases which caused the problem.
Dropping a stored routine also revoke privileges for all users
on the stored routine and errors about missing grants are converted
into warnings. Before Bug 33464 such errors could be incorrectly
returned to the user, which would later trigger a assertion due to
multiple errors being set.
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
Update test case result, grants were already dropped.
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
Update test case result, grants were already dropped.
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
Update test case result, grants were already dropped.
mysql-test/suite/funcs_1/r/ndb_storedproc_06.result:
Update test case result, grants were already dropped.
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
Add comment regarding bug revealed by test case.
mysql-test/suite/funcs_1/t/disabled.def:
Re-enable test cases, bug has been fixed.
mysql-test/r/query_cache_wlock_invalidate_func.result:
Adjusted test. Query cache doesn't support multiple statements and thus
using a delimiter change won't work.
mysql-test/t/disabled.def:
Enabled the query_cache_wlock_invalidate_func test.
mysql-test/t/query_cache_wlock_invalidate_func.test:
Adjusted test. Query cache doesn't support multiple statements and thus
using a delimiter change won't work.
Bug#31237 Test "ndb_views" fails because of differing order of select results
mysql-test/suite/funcs_1/r/innodb_views.result:
Updated results
mysql-test/suite/funcs_1/r/memory_views.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_views.result:
Updated results
mysql-test/suite/funcs_1/r/ndb_views.result:
Updated results
mysql-test/suite/funcs_1/views/views_master.inc:
Mangle the row numbers
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-bugteam
client/mysqltest.c:
Auto merged
dbug/dbug.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
client/mysql_upgrade.c:
SCCS merged
client/mysql_upgrade.c:
Add --tmpdir option to mysql_upgrade and use it when creating temporary files.
mysql-test/mysql-test-run.pl:
Pass --tmpdir to mysql_upgrade
into magare.gmz:/home/kgeorge/mysql/work/B35298-5.1-bugteam
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
sql/item_sum.cc:
Auto merged
configure.in:
merge 5.0-bugteam to 5.1-bugteam
The bug is a regression introduced by the patch for bug32798.
The code in Item_func_group_concat::clear() relied on the 'distinct'
variable to check if 'unique_filter' was initialized. That, however,
is not always valid because Item_func_group_concat::setup() can do
shortcuts in some cases w/o initializing 'unique_filter'.
Fixed by checking the value of 'unique_filter' instead of 'distinct'
before dereferencing.
mysql-test/r/func_gconcat.result:
Added test cases for bugs #35298 and #36024.
mysql-test/t/func_gconcat.test:
Added test cases for bugs #35298 and #36024.
sql/item_sum.cc:
Check if unique_filter != NULL before dereferencing it. Non-zero value
of distinct does not always mean that unique_filter is initialized
because Item_func_group_concat::setup() can do shortcuts is some cases
mysql-test/r/group_concat_max_len_func.result:
Properly restore global group_concat_max_len value at end of test
mysql-test/t/disabled.def:
Re-disable user_limits test; it is still failing randomly (bug 33696)
mysql-test/t/group_concat_max_len_func.test:
Update test results
Select of the test could not perform deterministically, because the table remains to be
updatable by the running event handler.
Fixed with changing verification to use a logical values instead of comparison
with a pre-recorded results.
mysql-test/include/rpl_events.inc:
changing verification to use a logical values instead of comparison with a pre-recorded
results
mysql-test/suite/rpl/r/rpl_events.result:
resutls updated.
The problem is that since MyISAM's concurrent_insert is on by
default some concurrent SELECT statements might not see changes
made by INSERT statements in other connections, even if the
INSERT statement has returned.
The solution is to disable concurrent_insert so that INSERT
statements returns after the data is actually visible to other
statements.
mysql-test/r/client_xml.result:
Update test case result.
mysql-test/r/federated.result:
Update test case result.
mysql-test/r/federated_bug_25714.result:
Update test case result.
mysql-test/t/client_xml.test:
Disable concurrent insert and restore old value at the
end of the test so it doesn't affect other tests.
mysql-test/t/federated.test:
Disable concurrent insert and restore old value at the
end of the test so it doesn't affect other tests.
mysql-test/t/federated_bug_25714.test:
Disable concurrent insert and restore old value at the
end of the test so it doesn't affect other tests.
into ramayana.hindu.god:/home/tsmith/m/bk/build/51
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/suite/funcs_1/datadict/processlist_val.inc:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/suite/rpl/t/disabled.def:
SCCS merged
100% effectively on Windows
The mysqltest docs state that the 'replace_result' command
doesn't perform any escape processing.
However the current implementation was processing backslash
escapes in the from/to strings.
This prevents replacing e.g. patch on windows (where backslash
is used as a path separator).
Fixed by removing the backslash escape processing from
'replace_result'.
client/mysqltest.c:
Bug #36041: remove the escape processing from --replace_result
mysql-test/r/mysqltest.result:
Bug #36041: test case
mysql-test/t/mysqltest.test:
Bug #36041: test case
into ramayana.hindu.god:/home/tsmith/m/bk/bugteam/mrg/51
mysql-test/suite/rpl/r/rpl_packet.result:
Auto merged
mysql-test/suite/rpl/t/rpl_packet.test:
Auto merged
mysql-test/suite/rpl/t/disabled.def:
SCCS merged
Enable back the disabled test case.
mysql-test/include/mix1.inc:
Fix a race condition in the test, causing a sporadic failure.
mysql-test/r/innodb_mysql.result:
Update test case result.
mysql-test/t/disabled.def:
Enable the test case innodb_mysql.
sql/sql_parse.cc:
Fix the random failure of innodb_mysql test. The failure is not
random any more after a patch for Bug 12713 added asserts around
handler commit.