The functions ROW_COUNT/FOUND_ROWS are indeed not safe to be used in
statement based replication.
Added code to declare them as such and switch the statement they're in
to row based logging for mixed mode.
sql/item_create.cc:
Bug #30244: row_count/found_rows does not replicate well
- add the functions to the set of "unsafe functions"
for statement based replication
mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result:
BitKeeper file /home/kgeorge/mysql/work/B30244-5.1-opt/mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result
mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test:
BitKeeper file /home/kgeorge/mysql/work/B30244-5.1-opt/mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test
and strategy (explain)
The fix for WL3527 adds tests that test if the index usage hints
combinations don't cause syntax errors.
The EXPLAIN for one of these tests can be affected by the size of the
rowid on the disk (affected by the presence of large file support).
Fixed to avoid the platform dependent test result by removing the
irrelevant columns from the EXPLAIN result.
mysql-test/r/group_by.result:
Bug #30393: ignore columns irrelevant to the test
mysql-test/t/group_by.test:
Bug #30393: ignore columns irrelevant to the test
seems to be converted as varbinary.
The bug has been already fixed. This CS just adds a test case for it.
mysql-test/r/sp.result:
Update result file.
mysql-test/t/sp.test:
Test case for BUG#13675.
mysql-test/lib/mtr_misc.pl:
Add function 'mtr_rmtree' it will try 'rmtree' and if that fails (most likely
due to permission problems we will fun File::find to chmod all files and dirs
to 0777 and then delete.
mysql-test/mysql-test-run.pl:
Use 'mtr_rmtree' in favour of 'rmtree'
into linux-st28.site:/home/martin/mysql/src/bugx/my50-bugx
mysql-test/t/innodb_mysql.test:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/innodb_mysql.result:
SCCS merged
into magare.gmz:/home/kgeorge/mysql/work/B30377-5.1-opt
mysql-test/t/status.test:
Auto merged
mysql-test/r/status.result:
merge 5.0->5.1 of the fix for bug 30377
sql/sql_lex.h:
merge 5.0->5.1 of the fix for bug 30377
sql/sql_select.cc:
merge 5.0->5.1 of the fix for bug 30377
ChangeSet@1.2509, 2007-08-28
http://lists.mysql.com/commits/33239
Fixes for the funcs_1 datadict test bugs
#30418 "datadict" tests (all engines) fail:
Dependency on the host name for ordering
#30420 "datadict" tests (all engines) fail:
Release build has help tables loaded
#30438 "{memory,myisam,ndb}__datadict" tests fail:
Use "InnoDB" without checking
#30440 "datadict" tests (all engines) fail:
Character sets depend on
configuration
There are more post merge fixes needed.
mysql-test/suite/funcs_1/r/innodb__datadict.result:
Post merge fix for
ChangeSet@1.2509, 2007-08-28
mysql-test/suite/funcs_1/r/memory__datadict.result:
Updated results
mysql-test/suite/funcs_1/r/myisam__datadict.result:
Updated results
mysql-test/suite/funcs_1/t/ndb__datadict.test:
Adjusted script
into four.local.lan:/WORK2/merge/mysql-5.1-build-datadict
It is to be expected that a post merge fix is needed.
mysql-test/suite/funcs_1/README.txt:
Auto merged
mysql-test/suite/funcs_1/t/innodb__datadict.test:
Auto merged
mysql-test/suite/funcs_1/t/memory__datadict.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam__datadict.test:
Auto merged
mysql-test/suite/funcs_1/datadict/datadict_master.inc:
Manual merge
mysql-test/suite/funcs_1/r/innodb__datadict.result:
Manual merge
mysql-test/suite/funcs_1/r/memory__datadict.result:
Manual merge
mysql-test/suite/funcs_1/r/myisam__datadict.result:
Manual merge
This is a performance bug, affecting in particular the bison generated code
for the parser.
Prior to this fix, the grammar used a long chain of reduces to parse an
expression, like:
bit_expr -> bit_term
bit_term -> bit_factor
bit_factor -> value_expr
value_expr -> term
term -> factor
etc
This chain of reduces cause the internal state automaton in the generated
parser to execute more state transitions and more reduces, so that the
generated MySQLParse() function would spend a lot of time looping to execute
all the grammar reductions.
With this patch, the grammar has been reorganized so that rules are more
"flat", limiting the depth of reduces needed to parse <expr>.
Tests have been written to enforce that relative priorities and properties
of operators have not changed while changing the grammar.
See the bug report for performance data.
mysql-test/r/parser_precedence.result:
Improved test coverage for operator precedence
mysql-test/t/parser_precedence.test:
Improved test coverage for operator precedence
sql/sql_yacc.yy:
Simplified the grammar to improve performances
Bug#30418 "datadict" tests (all engines) fail: Dependency on the host name
for ordering
Bug#30420 "datadict" tests (all engines) fail: Release build has help tables loaded
Bug#30438 "{memory,myisam,ndb}__datadict" tests fail: Use "InnoDB" without checking
Bug#30440 "datadict" tests (all engines) fail: Character sets depend on configuration
Attention: Only the build team can check if Bug#30440 is really fixed.
mysql-test/suite/funcs_1/README.txt:
Update README
mysql-test/suite/funcs_1/datadict/datadict_master.inc:
1. Exclude the help tables from the INFORMATION_SCHEMA.TABLES
and the INFORMATION_SCHEMA.STATISTICS selects.
2. Replace error numbers with error names
3. Sort some results with mysqltest builtin function
4. Some other minor changes
mysql-test/suite/funcs_1/r/innodb__datadict.result:
Updated expected results
mysql-test/suite/funcs_1/r/memory__datadict.result:
Updated expected results
mysql-test/suite/funcs_1/r/myisam__datadict.result:
Updated expected results
mysql-test/suite/funcs_1/t/innodb__datadict.test:
Add $OTHER_ENGINE_TYPE variable which is used in data_dict_master.inc.
mysql-test/suite/funcs_1/t/memory__datadict.test:
Add $OTHER_ENGINE_TYPE variable which is used in data_dict_master.inc.
mysql-test/suite/funcs_1/t/myisam__datadict.test:
Add $OTHER_ENGINE_TYPE variable which is used in data_dict_master.inc.
mysql-test/suite/funcs_1/r/datadict_help_tables_build.result:
File with expected results
mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result:
File with expected results
mysql-test/suite/funcs_1/t/datadict_help_tables_build.test:
Additional test checking the information about the help tables within
INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS
as compensation for the removed checks within datadict_master.inc.
Variant for use during build tests (non empty help tables)
mysql-test/suite/funcs_1/t/datadict_help_tables_dev.test:
Additional test checking the information about the help tables within
INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS
as compensation for the removed checks within datadict_master.inc.
Variant for use during development tests (empty help tables)
The optimization that uses a unique index to remove GROUP BY did not
ensure that the index was actually used, thus violating the ORDER BY
that is implied by GROUP BY.
Fixed by replacing GROUP BY with ORDER BY if the GROUP BY clause contains
a unique index over non-nullable field(s). In case GROUP BY ... ORDER BY
null is used, GROUP BY is simply removed.
mysql-test/include/mix1.inc:
Bug#30596: Test case for InnoDB
Here, as opposed to for MyISAM, row lookup is done using index
whenever the index covers the group list.
mysql-test/r/distinct.result:
Bug#30596: Changed test case.
Prior to Bug#16458, These queries use temp table and filesort. The
bug was that they used a temp table. However, that patch removed
filesort also, in which case we can no longer gurantee correct ordering.
mysql-test/r/group_by.result:
Bug#30596: Correct result
The test case for IGNORE INDEX FOR GROUP BY gets degraded performance
(unneccesary filesort). This is due to Bug#30665, which will be fixed separately.
mysql-test/r/innodb_mysql.result:
Bug#30596: Test result
mysql-test/t/group_by.test:
Bug#30596: Test case
sql/sql_select.cc:
Bug#30596: The fix:
- replace GROUP BY with ORDER BY unless ORDER BY [NULL|<constant>]
- make sure to use the keys for GROUP BY in this ORDER BY.
Currently the Last_query_cost session status variable shows
only the cost of a single flat subselect. For complex queries
(with subselects or unions etc) Last_query_cost is not valid
as it was showing the cost for the last optimized subselect.
Fixed by reseting to zero Last_query_cost when the complete
cost of the query cannot be determined.
Last_query_cost will be non-zero only for single flat queries.
mysql-test/r/status.result:
Bug #30377: test case
mysql-test/t/status.test:
Bug #30377: test case
sql/sql_lex.h:
Bug #30377: helper function
sql/sql_select.cc:
Bug #30377: don't assign cost if not on single level statement
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
mysql-test/suite/ndb/r/ndb_restore.result:
Auto merged
mysql-test/suite/ndb/t/ndb_restore.test:
Auto merged
sql/ha_ndbcluster.cc:
manual merge
- the listed file_names are not necessarily on disk, so we need to discover them if they aren't
mysql-test/t/ndb_restore.test:
Bug #30667 ndb table discovery does not work correcly with information schema
into pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
client/mysqltest.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/loaddata.test:
Auto merged
to perform this analyzis)
client/mysqltest.c:
Add function 'show_query' and use it to output some debug queries when
"sync_with_master" has failed.
mysql-test/mysql-test-run.pl:
Move "analyze_testcase_failure" to mysqltest
into pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
extra/yassl/include/openssl/crypto.h:
Auto merged
extra/yassl/include/openssl/ssl.h:
Auto merged
extra/yassl/include/yassl_int.hpp:
Auto merged
extra/yassl/src/ssl.cpp:
Auto merged
extra/yassl/src/yassl_int.cpp:
Auto merged
vio/viossl.c:
Auto merged
mysql-test/suite/rpl/t/rpl_ssl.test:
Merge 5.0->5.1
- Merge sslaccept and sslconnect.
- Atomically "reset" vio to VIO_TYPE_SSL when the SSL connection has
succeeded, this avoids having to revert anything and thus protects
against "close_active_vio" in the middle.
- Add some variance to the testcase
mysql-test/t/rpl_ssl.test:
Add some variance by running two selects before stopping the slave
Check that number of records in t1 are equal on master and slave
vio/viossl.c:
Rewrite sslconnect and sslaccept to automically "reset" the vio
to VIO_TYPE_SSL. Also use the fd from 'SSL_get_fd' to avoid
setting vio->sd to -1, that previously occured when "close_active_vio"
was called during connect/accept.
Merge the two function since they were exactly the same except for one line.
Update the DBUG printouts to be generic(i.e use peer instead of client/server).
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
sql/field.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/rpl_record.cc:
Auto merged
sql/rpl_utility.cc:
Auto merged
sql/rpl_utility.h:
Auto merged
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
configure.in:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/partition_pruning.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/suite/rpl/include/rpl_mixed_ddl.inc:
Auto merged
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
Auto merged
mysql-test/suite/rpl/r/rpl_timezone.result:
Auto merged
mysql-test/suite/rpl/t/rpl_relayspace.test:
Auto merged
mysql-test/suite/rpl/t/rpl_timezone.test:
Auto merged
mysql-test/t/select.test:
Auto merged
netware/BUILD/compile-netware-END:
Auto merged
netware/Makefile.am:
Auto merged
sql/field.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/ha_partition.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/time.cc:
Auto merged
storage/innobase/handler/ha_innodb.cc:
Auto merged
storage/innobase/log/log0recv.c:
Auto merged
storage/innobase/srv/srv0srv.c:
Auto merged
storage/innobase/trx/trx0trx.c:
Auto merged
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
manual merge (use remote)
mysql-test/suite/rpl/t/disabled.def:
Manual merge - both rpl_innodb_mixed_ddl and rpl_innodb_mixed_dml
are fixed, and should be run as part of the rpl suite.
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
client/mysql_upgrade.c:
Auto merged
client/mysqltest.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/sql_show.cc:
Auto merged
Initialize thd->variables.pseudo_thread_id when a new embedded
thd is created.
libmysqld/lib_sql.cc:
Add comment regarding duplication of code in create_embedded_thd()
vs. create_new_thread() and prepare_new_connection_state(). This
was a cause for not properly initializing the pseudo_thread_id variable.
mysql-test/r/func_misc.result:
Add test case to ensure connection_id() returns a sane value
mysql-test/t/func_misc.test:
Add test case to ensure connection_id() returns a sane value
sql/mysqld.cc:
Add comment warning of the duplication of code between create_new_thread()
and create_embedded_thd()
sql/sql_connect.cc:
Add comment warning of the duplication of code between
prepare_new_connection_state() and create_embedded_thd()