Commit graph

39127 commits

Author SHA1 Message Date
andrey@example.com
c27a88ca2d Better fix for bug#22830
Events: crash with procedure which alters events with function

Post-review CS

This fix also changes the handling of KILL command combined with
subquery. It changes the error message given back to "not supported",
from parse error. The error for CREATE|ALTER EVENT has also been changed
to generate "not supported yet" instead of parse error.
In case of a SP call, the error is "not supported yet". This change
cleans the parser from code which should not belong to there. Still
LEX::expr_allows_subselect is existant because it simplifies the handling
 of SQLCOM_HA_READ which forbids subselects.
2006-11-02 13:51:43 +01:00
kroki/tomash@moonlight.intranet
cf99db484e Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21915
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug21915
2006-10-30 17:57:45 +03:00
kroki/tomash@moonlight.intranet
1c87434699 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug21915
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21915
2006-10-30 17:51:36 +03:00
kroki/tomash@moonlight.intranet
1bfe00e0da BUG#21915: Changing limits of table_cache when setting max_connections
If the user has specified --max-connections=N or --table-open-cache=M
options to the server, a warning could be given that some values were
recalculated, and table-open-cache could be assigned greater value.

Note that both warning and increase of table-open-cache were totally
harmless.

This patch fixes recalculation code to ensure that table-open-cache will
be never increased automatically and that a warning will be given only if
some values had to be decreased due to operating system limits.

No test case is provided because we neither can't predict nor control
operating system limits for maximal number of open files.
2006-10-30 17:47:02 +03:00
kroki/tomash@moonlight.intranet
db952c2faa Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug22584
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug22584
2006-10-27 13:40:28 +04:00
kroki/tomash@moonlight.intranet
0e0f7a0423 BUG#22584: last_insert_id not updated after inserting a record through
a updatable view.

When there's a VIEW on a base table that have AUTO_INCREMENT column, and
this VIEW doesn't provide an access such column, after INSERT to such
VIEW LAST_INSERT_ID() did not return the value just generated.

This behaviour is intended and correct, because if the VIEW doesn't list
some columns then these columns are effectively hidden from the user,
and so any side effects of inserting default values to them.

However, there was a bug that such statement inserting into a view would
reset LAST_INSERT_ID() instead of leaving it unchanged.

This patch restores the original value of LAST_INSERT_ID() instead of
resetting it to zero.
2006-10-27 13:32:41 +04:00
kroki/tomash@moonlight.intranet
25501c38d3 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug18819
2006-10-25 20:23:41 +04:00
kroki/tomash@moonlight.intranet
eeaa7f6638 After merge fix. 2006-10-25 20:12:23 +04:00
kroki/tomash@moonlight.intranet
7d3b9ffb65 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18819
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug18819
2006-10-25 20:10:12 +04:00
kroki/tomash@moonlight.intranet
2c03444971 Fix after manual merge. 2006-10-25 20:09:31 +04:00
kroki/tomash@moonlight.intranet
c8bb2f396a Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug18819
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18819
2006-10-25 20:00:51 +04:00
kroki/tomash@moonlight.intranet
b7b991cec3 BUG#18819: DELETE IGNORE hangs on foreign key parent delete
If the error happens during DELETE IGNORE, nothing could be send to the
client, thus leaving it frozen expecting the reply.

The problem was that if some error occurred, it wouldn't be reported to
the client because of IGNORE, but neither success would be reported.

MySQL 4.1 would not freeze the client, but will report

  ERROR 1105 (HY000): Unknown error

instead, which is also a bug.

The solution is to report success if we are in DELETE IGNORE and some
non-fatal error has happened.
2006-10-25 19:53:26 +04:00
petr/cps@owlet.local
e2d8d52293 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/home/cps/mysql/devel/5.1-rename-bug
2006-10-25 13:04:07 +04:00
petr/cps@mysql.com/owlet.local
f01df1fd0a fix test failures in the runtime tree 2006-10-25 12:54:59 +04:00
malff/marcsql@weblab.(none)
9cf77b0b78 Fixed build break. 2006-10-24 18:16:11 -07:00
anozdrin/alik@alik.
80649572e3 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  alik.:/mnt/raid/alik/MySQL/devel/5.1-rt-bug17486
2006-10-24 18:32:36 +04:00
anozdrin/alik@alik.
c47c87ab88 IM polishing: log more information in log. 2006-10-24 18:31:10 +04:00
anozdrin/alik@alik.
d809679967 Enable im_daemon_life_cycle.imtest, since BUG#22379 is closed. 2006-10-24 18:25:24 +04:00
anozdrin/alik@alik.
f40a9d2ece Fix for BUG#17486: IM: race condition on exit.
The problem was that IM stoped guarded instances on shutdown,
but didn't wait for them to stop.

The fix is to wait for guarded instances to stop before exitting
from the main thread.

The idea is that Instance-monitoring thread should add itself
to Thread_registry so that it will be taken into account on shutdown.
However, Thread_registry should not signal it on shutdown in order to
not interrupt wait()/waitpid().
2006-10-24 18:23:16 +04:00
petr/cps@owlet.local
eda71e24c3 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/home/cps/mysql/devel/5.1-rename-bug
2006-10-24 17:00:23 +04:00
kostja@bodhi.local
06d943f137 Post-merge fixes. 2006-10-23 20:08:00 +04:00
kostja@bodhi.local
2fecf79536 Merge bodhi.local:/opt/local/work/mysql-5.0-runtime
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2006-10-23 12:35:56 +04:00
kostja@bodhi.local
4cb57ac048 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2006-10-23 12:06:59 +04:00
anozdrin/alik@alik.
643606cac9 Instance Manager polishing. 2006-10-20 22:26:40 +04:00
dlenev@mockturtle.local
384f0fee0d Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg15228-2
2006-10-20 16:05:23 +04:00
dlenev@mockturtle.local
850688194b Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg15228-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg15228
2006-10-20 15:54:58 +04:00
dlenev@mockturtle.local
3fce634fc1 Fix for bug#15228 "'invalid access to non-static data member'
warnings in sql_trigger.cc and sql_view.cc".

According to the current version of C++ standard offsetof() macro
can't be used for non-POD types. So warnings were emitted when we
tried to use this macro for TABLE_LIST and Table_triggers_list
classes. Note that despite of these warnings it was probably safe
thing to do.

This fix tries to circumvent this limitation by implementing
custom version of offsetof() macro to be used with these
classes. This hack should go away once we will refactor
File_parser class.

Alternative approaches such as disabling this warning for
sql_trigger.cc/sql_view.cc or for the whole server were
considered less explicit. Also I was unable to find a way
to disable particular warning for particular _part_ of
file in GCC.
2006-10-20 15:47:52 +04:00
gkodinov@dl145s.mysql.com
99b572b9eb Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
2006-10-20 11:15:54 +02:00
gkodinov@dl145s.mysql.com
bb0422a0b0 Merge bk-internal:/home/bk/mysql-5.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
2006-10-20 11:12:35 +02:00
gkodinov@dl145s.mysql.com
4eff5ab26a Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
2006-10-20 11:05:06 +02:00
gkodinov@dl145s.mysql.com
a93cc1b70b Merge bk-internal:/home/bk/mysql-5.0
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
2006-10-20 11:02:56 +02:00
gkodinov@dl145s.mysql.com
0612a212d1 Merge bk-internal:/home/bk/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
2006-10-20 10:57:38 +02:00
gkodinov@dl145s.mysql.com
a0c0bbd8ae sql_rename.cc, sql_table.cc, type_decimal.result, mix2_myisam.result:
merge fixes
2006-10-20 10:12:38 +02:00
malff/marcsql@weblab.(none)
ea0998caca Bug#20028 (Function with select return no data)
This patch reverts a change introduced by Bug 6951, which incorrectly
set thd->abort_on_warning for stored procedures.

As per internal discussions about the SQL_MODE=TRADITIONAL,
the correct behavior is to *not* abort on warnings even inside an INSERT/UPDATE
trigger.

Tests for Stored Procedures, Stored Functions, Triggers involving SQL_MODE
have been included or revised, to reflect the intended behavior.

(reposting approved patch, to work around source control issues, no review needed)
2006-10-19 11:39:51 -07:00
svoj@mysql.com/april.(none)
26bf6a25c8 After merge fix. 2006-10-19 20:29:12 +05:00
svoj@april.(none)
8b01686765 Merge mysql.com:/home/svoj/devel/mysql/engines/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-5.1-engines
2006-10-19 19:59:57 +05:00
gkodinov@dl145s.mysql.com
aaed398254 Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
2006-10-19 16:43:46 +02:00
gkodinov@dl145s.mysql.com
ea8ba03556 Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
2006-10-19 16:00:06 +02:00
svoj@mysql.com/april.(none)
afefa5d42f After merge fix. 2006-10-19 18:48:37 +05:00
svoj@mysql.com/april.(none)
2d9e457460 Merge mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-5.0-engines
2006-10-19 18:04:34 +05:00
gkodinov@dl145s.mysql.com
c77fae407b Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
2006-10-19 15:04:12 +02:00
gkodinov@dl145s.mysql.com
892495acaf Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.0
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
2006-10-19 14:37:49 +02:00
svoj@mysql.com/april.(none)
d2fa9fd192 Merge mysql.com:/home/svoj/devel/mysql/BUG23175/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
2006-10-19 17:35:09 +05:00
gkodinov@dl145s.mysql.com
1dacdd4c85 Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
2006-10-19 14:34:56 +02:00
svoj@mysql.com/april.(none)
b6f909bf1b Merge mysql.com:/home/svoj/devel/mysql/BUG22562/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
2006-10-19 17:33:22 +05:00
istruewing@chilla.local
8eee765441 Merge chilla.local:/home/mydev/mysql-5.0-merge
into  chilla.local:/home/mydev/mysql-5.1-merge
2006-10-19 13:43:57 +02:00
istruewing@chilla.local
9b3e7bd02f Bug#21476 - Lost Database Connection During Query
Backport from 5.1.
Raised STACK_MIN_SIZE for Debian GNU/Linux Sid,
Linux kernel 2.6.16,
gcc version 3.3.6 (Debian 1:3.3.6-13),
libc6-dbg 2.3.6.ds1-4,
Pentium4 (x86),
BUILD/compile-pentium-debug-max
Raised about 100 Bytes above the required minimum.
2006-10-19 13:42:26 +02:00
kroki/tomash@moonlight.intranet
dea0028cd9 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21856
2006-10-19 14:53:50 +04:00
kroki/tomash@moonlight.intranet
2a857d2fb3 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21856
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug21856
2006-10-19 14:49:16 +04:00
kroki/tomash@moonlight.intranet
00b2fc6aff BUG#21856: Prepared Statements: crash if bad create
When statement to be prepared contained CREATE PROCEDURE, CREATE FUNCTION
or CREATE TRIGGER statements with a syntax error in it, the preparation
would fail with syntax error message, but the memory could be corrupted.

The problem occurred because we switch memroot when parse stored
routine or trigger definitions, and on parse error we restored the
original memroot only after performing some memory operations.  In more
detail:
 - prepared statement would activate its own memory root to parse
   the definition of the stored procedure.
 - SP would reset this memory root with its own memory root to
   parse SP statements
 - a syntax error would happen
 - prepared statement would restore the original memory root
 - stored procedure would restore what it thinks was the original
   memory root, but actually was the statement memory root.
That led to double free - in destruction of the statement and in
a next call to mysql_parse().

The solution is to restore memroot right after the failed parsing.
2006-10-19 14:43:52 +04:00