- make ha_berkeley::cmp_ref() take into account that auto-generated PKs
are stored in LSB-first order.
- Remove the temporary code that made the bugfix work for innodb only
mysql-test/r/bdb.result:
Adjust test-results.
sql/ha_berkeley.cc:
BUG#28591: make the fix work for BDB tables too:
- make ha_berkeley::cmp_ref() take into account that auto-generated PKs
are stored in LSB-first order.
sql/sql_select.cc:
BUG#28591: Remove "innodb only" clause as the fix now works for BDB too
sql/table.cc:
BUG#28591: Remove "innodb only" clause as the fix now works for BDB too
into debian.(none):/M51/rowlock-5.1
BitKeeper/deleted/.del-readme.txt~3:
Merge rename: BitKeeper/deleted/.del-readme.txt -> BitKeeper/deleted/.del-readme.txt~3
Makefile.am:
Manual merge: "row_lock" suite is deleted.
5.1.20 -> 5.1.21 upgrades.
We generate mysql_fix_privilege.sql file, which contains SQL
statements required to upgrade the system database. This script
is generated by concatenation of mysql_system_tables.sql and
mysql_system_tables_fix.sql.
The problem was that
- in order to create general_log and slow_log tables we use
stored programs in mysql_system_tables.sql;
- we upgrade mysql.proc table in mysql_system_tables_fix.sql;
So, if mysql.proc table needs to be upgraded, stored procedures
can not be used in mysql_system_tables.sql.
In other words, in mysql_system_tables.sql stored programs must
not be used because they may be unavailable at this point.
The fix is to use dynamic SQL instead of stored programs.
There is no test case for this bug because our test suite
is not suitable for such test cases. system_mysql_db_fix* test
cases play with the database "test". Here we need to modify
the system database and we can not do that in the test suite.
scripts/mysql_system_tables.sql:
Use dynamic SQL instead of stored programs.
SHOW TABLE TYPES is a (to be deprecated) synonym for
SHOW STORAGE ENGINES.
Fixed to use the right schema table in addition to
issuing a warning.
mysql-test/r/show_check.result:
Bug #30036: test case
mysql-test/t/show_check.test:
Bug #30036: test case
sql/sql_yacc.yy:
Bug #30036: use the right schema table
Adding code to filter out slave SQL errors since these are checked by
the tests themselves.
mysql-test/lib/mtr_report.pl:
Filtering out slave SQL errors since these are handled by the
tests themselves.
mysql-test/suite/rpl/t/disabled.def:
Enabling disabled tests.
mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result:
Result change.
mysql-test/suite/rpl_ndb/t/disabled.def:
Enabling disabled tests.
available and reduce the chance of failure. This should fix bug#28585
which is caused by the script being quite random in how it finds files it
requires and not giving very good feedback to the user about what went
wrong.
Also update make_binary_distribution so that it provides the correct path
to the required SQL scripts when generating mysql_install_db. The script
only previously worked because of the permissive behaviour which looked
around the current working directory before the "correct" location. This
could lead to severe problems if the user happened to run the script from
a location which contained older or even broken copies of the SQL scripts.
We now require either a complete binary release (and the mysql_install_db
script ran from inside the extracted archive), or an installed compiled
tree, as this is the only way we can be sure everything that we need is
available and ready to run.
While working on this fix, also clean up the mysql_install_db script a lot
to make it simpler, easier to read, and hopefully less prone to bugs in
the future.
scripts/make_binary_distribution.sh:
SQL files live in ./share not ./support-files in binary distribution.
scripts/mysql_install_db.sh:
Use a consistent shell indentation style.
to 150 or 107 characters for those messages which are generated
by the embedded server during release builds.
This fixes bug#16635:
Error messages wrong: absolute path names, "%s" format code
See the bug report or the changelog for "sql/share/english/errmsg.txt"
for instructions how to do that with other languages,
even at the customer site, and for the restrictions to keep.
sql/share/english/errmsg.txt:
The embedded server uses absolute path names in its error messages,
in the release build environment these exceed the 64 character limit
which the format strings for the error messages impose (bug#16635).
But when the messages are output, the server does the "printf()"
internally in a 256 character buffer; the constant text and the
expanded variables (strings, error number) must fit into this.
(If the buffer would overflow, a format specification will not be
expanded but just copied with its code, and the message output
will just contain '%s' or '%d' where a value is expected.)
So the string lengths are increased to 150 characters in those messages
which are issued by the embedded server during release tests
and contain 1 (one) path name,
but only to 107 in the "rename" message which contains 2 (two).
This solves bug#16635 for the release builds.
For other languages used by OEM customers, similar fixes may be needed,
but we cannot test them.
These fixes can be done even in a binary installation at the customer site
by following these steps:
cd <<install-root>>/share
$EDITOR <<lang>>/errmsg.txt
../../bin/comp_err -C./charsets/ <<lang>>/errmsg.txt <<lang>>/errmsg.sys
and then restarting the server.
the master but on the slave
MySQL can decide to "downgrade" a INSERT DELAYED statement
to normal insert in certain situations.
One such situation is when the slave is replaying a
replication feed.
However INSERT DELAYED is logged even if there're no updates
whereas the NORMAL INSERT is not logged in such cases.
Fixed by always logging a "downgraded" INSERT DELAYED: even
if there were no updates.
mysql-test/r/rpl_insert_delayed.result:
Bug #29571: test case
mysql-test/t/rpl_insert_delayed.test:
Bug #29571: test case
sql/sql_insert.cc:
Bug #29571: log INSERT DELAYED even if it was
"downgraded" to INSERT (and there were no updates)
Problem: trying to repair an old (e.g. with "old" varstring fields) corrupted
table with use_frm option we don't actually repair the table, just altering it
which may couse data loss.
Fix: if use_frm repair option is set, do repair instead of altering even
if the table needs upgrade.
sql/sql_table.cc:
Fix for bug #29980: 5.1.20 ate my table
into gleb.loc:/home/uchum/work/bk/5.1-opt
mysql-test/t/create.test:
Auto merged
sql/field.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/create.result:
Merge with 5.0-opt.
sql/ha_federated.cc:
remote_error_number is set to -1 when an error was already reported
with my_error(). ER(-1) will also cause a crash on 64bit arch and only
worked on 32bit arch by luck
into gleb.loc:/home/uchum/work/bk/5.1-opt
mysql-test/r/sp.result:
Auto merged
mysql-test/t/create.test:
Auto merged
sql/field.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/create.result:
Merge with 5.1 (main).
"log.cc:1448: failed assertion `mysql_bin_log.is_open() && rex_data->empty()'"
When Federated's transaction support was disabled by bug29875,
this assertion became unreproducable.
mysql-test/t/disabled.def:
bug29522
reenable federated_innodb test
into gleb.loc:/home/uchum/work/bk/5.0-opt
mysql-test/t/create.test:
Auto merged
sql/field.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/create.result:
Merge with 5.0 (main).
internal ones (like those of GROUP BY): fixing the --help text.
sql/mysqld.cc:
tmp_table_size is not about user-created temporary tables, only
internal ones (like those of GROUP BY)
into gleb.loc:/home/uchum/work/bk/5.1-opt
mysql-test/r/having.result:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/having.test:
Auto merged
sql/field.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/include/mix1.inc:
Merge with 5.0-opt.
mysql-test/r/create.result:
Merge with 5.0-opt.
mysql-test/r/innodb_mysql.result:
Merge with 5.0-opt.
mysql-test/r/type_enum.result:
Merge with 5.0-opt.
mysql-test/t/type_enum.test:
Merge with 5.0-opt.
sql/filesort.cc:
Merge with 5.0-opt.
sql/sql_base.cc:
Merge with 5.0-opt.
sql/table.cc:
Merge with 5.0-opt.
storage/innobase/handler/ha_innodb.cc:
Merge with 5.0-opt.
into xiphis.org:/anubis/antony/work/p2-bug25679.3.merge-5.1
mysql-test/r/federated.result:
Auto merged
mysql-test/t/federated.test:
Auto merged
storage/federated/ha_federated.h:
Auto merged
storage/federated/ha_federated.cc:
manual merge 5.0 to 5.1
"Federated Denial of Service"
Federated storage engine used to attempt to open connections within
the ::create() and ::open() methods which are invoked while LOCK_open
mutex is being held by mysqld. As a result, no other client sessions
can open tables while Federated is attempting to open a connection.
Long DNS lookup times would stall mysqld's operation and a rogue
connection string which connects to a remote server which simply
stalls during handshake can stall mysqld for a much longer period of
time.
This patch moves the opening of the connection much later, when the
federated actually issues queries, by which time the LOCK_open mutex is
no longer being held.
mysql-test/r/federated.result:
change of test/results due to patch for bug25679
mysql-test/t/federated.test:
change of test/results due to patch for bug25679
sql/ha_federated.cc:
bug25679
remove function check_foreign_fata_source()
ha_federated::open() no longer opens the federated connection.
ha_federated::create() no longer opens and tests connection.
ha_federated::real_connect() opens connection and tests presence of table.
ha_federated::real_query() sends query, calling real_connect() if neccessary.
sql/ha_federated.h:
bug25679
new methods real_query() and real_connect()
- Required manual merge.
CMakeLists.txt:
Bug#24732 Executables do not include Vista manifests
- Search for additional tools necessary to embed, catalog and sign
targets.
win/README:
Bug#24732 Executables do not include Vista manifests
- Add internal only note to EMBED_MANIFESTS option.
into amd64.(none):/src/bug24732/my51-bug24732
BitKeeper/etc/ignore:
auto-union
BitKeeper/deleted/.del-CMakeLists.txt~1:
Auto merged
BitKeeper/deleted/.del-README~1:
Auto merged
- Sign executables with MySQL AB security certificate.
BitKeeper/etc/ignore:
Bug#24732 Executables do not include Vista manifests
- Ignore security catalog descriptions
CMakeLists.txt:
Bug#24732 Executables do not include Vista manifests
- Search for additional tools necessary to embed, catalog and sign
targets.
win/README:
Bug#24732 Executables do not include Vista manifests
- Add internal only note to EMBED_MANIFESTS option.
win/create_manifest.js:
Bug#24732 Executables do not include Vista manifests
- Added publicKeyToken attribute to manifest.
win/mysql_manifest.cmake:
Bug#24732 Executables do not include Vista manifests
- Add additional commands to create security catalog and sign
targets.
- Add parameters to add appropiate hash attribute to manifest
and create security content description of the security catalog.