Commit graph

37577 commits

Author SHA1 Message Date
iggy@alf.(none)
3e7caa131c Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  alf.(none):/src/bug30103/my50-bug30103
2007-07-27 17:44:43 -04:00
holyfoot/hf@hfmain.(none)
e4f4a46f76 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/29878/my50-29878
2007-07-28 01:33:03 +05:00
jperkin@production.mysql.com
88ef9a4214 Merge jperkin@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  production.mysql.com:/usersnfs/jperkin/bk/mysql-5.0
2007-07-27 20:49:23 +02:00
jperkin@production.mysql.com
7731aad613 Merge jperkin@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  production.mysql.com:/usersnfs/jperkin/bk/mysql-5.0
2007-07-27 20:47:30 +02:00
iggy@alf.(none)
667f2a35de Bug#30103 CMake build solution does not remove auto-generated resources
- Add CMake rule to remove files.
2007-07-27 11:54:54 -04:00
kent@mysql.com/kent-amd64.(none)
519ebab04e SSL/Makefile.am mysql-test/Makefile.am:
Moved CERT files to where they are used, avoids conflict
  between two make files trying to install the same CERTs
SSL/*.pem, 
  Move: SSL/*.pem -> mysql-test/std_data/
2007-07-27 17:39:07 +02:00
thek@adventure.(none)
8f5fad2c34 Merge adventure.(none):/home/thek/Development/cpp/bug29929/my50-bug29929
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
2007-07-27 17:32:45 +02:00
thek@adventure.(none)
889b4ebcee Bug #29929 LOCK TABLES does not pre-lock tables used in triggers of the locked tables
When a table was explicitly locked with LOCK TABLES no associated
tables from any related trigger on the subject table were locked.
As a result of this the user could experience unexpected locking
behavior and statement failures similar to "failed: 1100: Table'xx'
was not locked with LOCK TABLES".

This patch fixes this problem by making sure triggers are
pre-loaded on any statement if the subject table was explicitly
locked with LOCK TABLES.
2007-07-27 16:56:29 +02:00
holyfoot/hf@mysql.com/hfmain.(none)
03dfd986d7 Bug #29878 Garbage data generation when executing SESSION_USER() on a slave.
Item_func_user doesn't calculate anything in it's val_str() method,
just returns saved str_value.
Though Item::save_in_field method can destroy str_value, relying on
val_str() return. As a result we get the garbage stored in field.

We cannot use Item::save_in_field implementation for Item_func_user,
reimplement it in simpler way.
2007-07-27 18:42:25 +05:00
jperkin@production.mysql.com
d5293e4584 More fixes and cleanups for bug#28585:
- make the 'dist-hook' from top-level Makefile work again.
  - we can find my_print_defaults from --basedir by parsing command
    line arguments prior to running my_print_defaults.
  - take advantage of additional command line parsing and allow the
    --no-defaults etc arguments to work anywhere rather than having
    to be the first argument.
  - find SQL files either from binary archive or source install.
  - consolidate and tidy code and error messages.
2007-07-27 15:14:21 +02:00
kostja@bodhi.(none)
11c57540f7 A fix and a test case for Bug#24918 drop table and lock / inconsistent
between perm and temp tables. Review fixes.

The original bug report complains that if we locked a temporary table
with LOCK TABLES statement, we would not leave LOCK TABLES mode
when this temporary table is dropped.

Additionally, the bug was escalated when it was discovered than
when a temporary transactional table that was previously
locked with LOCK TABLES statement was dropped, futher actions with
this table, such as UNLOCK TABLES, would lead to a crash.

The problem originates from incomplete support of transactional temporary
tables. When we added calls to handler::store_lock()/handler::external_lock()
to operations that work with such tables, we only covered the normal
server code flow and did not cover LOCK TABLES mode. 
In LOCK TABLES mode, ::external_lock(LOCK) would sometimes be called without
matching ::external_lock(UNLOCK), e.g. when a transactional temporary table
was dropped. Additionally, this table would be left in the list of LOCKed 
TABLES.

The patch aims to address this inadequacy. Now, whenever an instance
of 'handler' is destroyed, we assert that it was priorly
external_lock(UNLOCK)-ed. All the places that violate this assert
were fixed.

This patch introduces no changes in behavior -- the discrepancy in
behavior will be fixed when we start calling ::store_lock()/::external_lock()
for all tables, regardless whether they are transactional or not, 
temporary or not.
2007-07-27 16:37:29 +04:00
svoj@june.mysql.com
81905ee14f Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.0-engines
2007-07-27 14:36:43 +05:00
svoj@mysql.com/june.mysql.com
9d1bfec265 BUG#29957 - alter_table.test fails
INSERT/DELETE/UPDATE followed by ALTER TABLE within LOCK TABLES
may cause table corruption on Windows.

That happens because ALTER TABLE writes outdated shared state
info into index file.

Fixed by removing obsolete workaround.

Affects MyISAM tables on Windows only.
2007-07-27 14:30:25 +05:00
sergefp@pylon.mylan
3301955b6e Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bdb-fix
2007-07-26 20:54:28 +04:00
sergefp@mysql.com
9c8262da33 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. 
 - Remove the temporary code that made the bugfix work for innodb only
2007-07-26 20:52:53 +04:00
df@pippilotta.erinye.com
67c650fb8f Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-07-26 18:32:26 +02:00
joerg@debian.(none)
db5ad35ec9 Merge debian.(none):/M50/rowlock-5.0
into  debian.(none):/M50/push-5.0
2007-07-26 18:26:04 +02:00
joerg@debian.(none)
1e455b4c28 Remove the "row_lock" suite from the sources.
For more information, see WL#3866 and the bugs numbered 28685 and 20390.
2007-07-26 17:25:03 +02:00
acurtis/antony@ltamd64.xiphis.org
c2080430c3 Merge xiphis.org:/anubis/antony/work/mysql-5.0-engines
into  xiphis.org:/anubis/antony/work/mysql-5.0-engines.merge
2007-07-26 07:56:37 -07:00
gkodinov/kgeorge@magare.gmz
f98eb3a634 Addendum to bug 29571: wait for INSERT DELAYED to finish on master 2007-07-26 16:59:21 +03:00
joerg@debian.(none)
cb52840f13 Merge debian.(none):/M41/push-4.1
into  debian.(none):/M50/push-5.0
2007-07-26 15:44:58 +02:00
joerg@debian.(none)
2a71b66517 Merge debian.(none):/M50/bug16635-5.0
into  debian.(none):/M50/push-5.0
2007-07-26 15:41:57 +02:00
joerg@debian.(none)
1bf0b2f655 Merge debian.(none):/M50/mysql-5.0
into  debian.(none):/M50/push-5.0
2007-07-26 15:37:45 +02:00
joerg@debian.(none)
c3264eaa0f Merge debian.(none):/M41/bug16635-4.1
into  debian.(none):/M41/push-4.1
2007-07-26 15:32:32 +02:00
joerg@debian.(none)
fa040bba06 Merge debian.(none):/M41/bug16635-4.1
into  debian.(none):/M50/bug16635-5.0
2007-07-26 15:32:31 +02:00
jperkin@production.mysql.com
d2936fad10 mysql_install_db.sh:
Fix error in previous change, correct --language argument.
2007-07-26 14:31:11 +02:00
jperkin@production.mysql.com
2c95b97787 Apply a few more cleanups to improve the robustness of mysql_install_db 2007-07-26 14:27:36 +02:00
jperkin@production.mysql.com
8f87bd6008 Clean up the mysql_install_db script to ensure that a sane environment is
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.
2007-07-26 12:57:46 +02:00
joerg@debian.(none)
560cad771a Raise the 64 character limit for path names in the error messages
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.
2007-07-26 12:52:13 +02:00
gkodinov/kgeorge@magare.gmz
9bc5e92614 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29571-5.0-opt
2007-07-26 11:32:27 +03:00
gkodinov/kgeorge@magare.gmz
02fe5e27d2 Bug #29571: INSERT DELAYED IGNORE written to binary log on
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.
2007-07-26 11:31:10 +03:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
2cc508b3f4 fix pushbuild failures 2007-07-25 17:22:52 -07:00
gshchepa/uchum@gleb.loc
bb22e3667e Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-26 03:33:43 +05:00
gbichot@production.mysql.com
48dfd5c796 tmp_table_size is not about user-created temporary tables, only
internal ones (like those of GROUP BY): fixing the --help text.
2007-07-25 22:29:53 +02:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
fbcd70a494 Bug#25679
"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.
2007-07-25 12:23:24 -07:00
gshchepa/uchum@gleb.loc
2c9eb1638b Merge gleb.loc:/home/uchum/work/bk/4.1-opt
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-26 00:04:55 +05:00
iggy@amd64.(none)
1adbecd9a6 Bug#24732 Executables do not include Vista manifests
- Sign executables with MySQL AB security certificate.
2007-07-25 13:18:12 -04:00
anozdrin/alik@ibm.
9f8593e81c Patch inspired by BUG#10491: Server returns data as charset
binary SHOW CREATE TABLE or SELECT FROM I_S.

The problem is that mysqldump generates incorrect dump for a table
with non-ASCII column name if the mysqldump's character set is
ASCII.

The fix is to:
  1. Switch character_set_client for the mysqldump's connection
  to binary before issuing SHOW CREATE TABLE statement in order
  to avoid conversion.
  
  2. Dump switch character_set_client statements to UTF8 and back
  for CREATE TABLE statement.
2007-07-25 19:46:50 +04:00
anozdrin/alik@ibm.
20e7e9870a Allow mysql.proc to have extra (unknown) fields.
This allows 5.0 to work with 5.1 databases.
2007-07-25 18:38:52 +04:00
malff/marcsql@weblab.(none)
0b1c6b90cc Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-29959
2007-07-25 07:57:47 -06:00
omer@linux.site
ad0c033b84 Updated/fixed test and result files to 5.0.46
Note datadict files do not include wrong is_updatable wrong value 
     as a result of bug 30020.
2007-07-24 21:31:25 -07:00
tsmith@ramayana.hindu.god
9524c9670d Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/jul24/50
2007-07-24 16:12:23 -06:00
kostja@bodhi.(none)
4c208499a4 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-07-24 22:57:26 +04:00
antony@pcg5ppc.xiphis.org
3f06084e7f fix compile on Windows for bug25714.c
---
fix compile on Windows for bug25714.c
2007-07-24 10:50:28 -07:00
antony@pcg5ppc.xiphis.org
c42837a232 build bug25714 test app on Windows 2007-07-24 09:32:51 -07:00
evgen@moonbone.local
fd1a43b080 Bug#15130: CREATE .. SELECT was denied to use advantages of the SQL_BIG_RESULT.
When the SQL_BIG_RESULT flag is specified SELECT should store items from the
select list in the filesort data and use them when sending to a client.
The get_addon_fields function is responsible for creating necessary structures
for that. But this function was allowed to do so only for SELECT and
INSERT .. SELECT queries. This makes the SQL_BIG_RESULT useless for
the CREATE .. SELECT queries.

Now the get_addon_fields allows storing select list items in the filesort
data for the CREATE .. SELECT queries.
2007-07-24 18:15:44 +04:00
acurtis/antony@ltamd64.xiphis.org
bfeb65d095 Merge xiphis.org:/anubis/antony/work/p2-bug25714.1
into  xiphis.org:/anubis/antony/work/p2-bug25714.1.merge-5.0
2007-07-23 23:57:50 -07:00
antony@pcg5ppc.xiphis.org
6b38c5b762 Bug#25714
"getGeneratedKeys() does not work with FEDERATED table"
  mysql_insert() expected the storage engine to update the row data
  during the write_row() operation with the value of the new auto-
  increment field. The field must be updated when only one row has
  been inserted as mysql_insert() would ignore the thd->last_insert.
  This patch implements HA_STATUS_AUTO support in ha_federated::info()
  and ensures that ha_federated::write_row() does update the row's
  auto-increment value.
  The test case was written in C as the protocol's 'id' value is
  accessible through libmysqlclient and not via SQL statements.
  mysql-test-run.pl was extended to enable running the test binary.
2007-07-23 23:35:43 -07:00
malff/marcsql@weblab.(none)
e3a8215430 Bug#29959 (Non-standard bison syntax in sql_yacc.yy)
In sql/sql_yacc.yy, use the %prec construct at the end of rule join_table
2007-07-23 16:23:35 -06:00
gkodinov/kgeorge@magare.gmz
33518801fb Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29644-5.0-opt
2007-07-23 17:07:29 +03:00