Commit graph

37054 commits

Author SHA1 Message Date
kostja@bodhi.local
7290fa2fb7 Post-merge fixes. 2006-08-30 23:09:47 +04:00
kostja@bodhi.local
ebb7070430 Merge bodhi.local:/opt/local/work/mysql-5.0-runtime-safemerge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2006-08-30 03:00:19 +04:00
kostja@bodhi.local
3bf609b7f2 A fix for Bug#14897 "ResultSet.getString("table.column") sometimes
doesn't find the column"

When a user was using 4.1 tables with VARCHAR column and 5.0 server
and a query that used a temporary table to resolve itself, the
table metadata for the varchar column sent to client was incorrect:
MYSQL_FIELD::table member was empty.

The bug was caused by implicit "upgrade" from old VARCHAR to new
VARCHAR hard-coded in Field::new_field, which did not preserve
the information about the original table. Thus, the field metadata
of the "upgraded" field pointed to an auxiliary temporary table
created for query execution.

The fix is to copy the pointer to the original table to the new field.
2006-08-30 00:38:58 +04:00
timour/timka@lamia.home
0368914b9a Merge lamia.home:/home/timka/mysql/src/5.0-bug-21456
into  lamia.home:/home/timka/mysql/src/5.1-bug-21456
2006-08-29 16:39:09 +03:00
kroki/tomash@moonlight.intranet
cb4ea78cbd Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17591
2006-08-29 16:24:00 +04:00
anozdrin/alik@alik.
1a7cb4153c Preliminary patch for the following bugs:
- BUG#15934: Instance manager fails to work;
  - BUG#18020: IM connect problem;
  - BUG#18027: IM: Server_ID differs;
  - BUG#18033: IM: Server_ID not reported;
  - BUG#21331: Instance Manager: Connect problems in tests;

The only test suite has been changed
(server codebase has not been modified).
2006-08-29 15:46:40 +04:00
kroki/tomash@moonlight.intranet
b9fef61616 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17591
2006-08-29 14:37:52 +04:00
kroki/tomash@moonlight.intranet
f8f1dd3e87 BUG#17591: Updatable view not possible with trigger or stored function
When a view was used inside a trigger or a function, lock type for
tables used in a view was always set to READ (thus making the view
non-updatable), even if we were trying to update the view.

The solution is to set lock type properly.
2006-08-29 14:32:59 +04:00
brian@zim.(none)
7216b5bc7a Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1
into  zim.(none):/home/brian/mysql/arch-5.1
2006-08-25 14:07:30 -07:00
brian@zim.(none)
e831273902 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/arch-5.1
2006-08-25 13:32:06 -07:00
brian@zim.(none)
baa914e66d Cleanup of unused variables.
Fixed "discover" in the handler API.

Fixed problem where handlerton was not zero'ed. I need to look around, I suspect this problem is more widespread.
2006-08-25 13:31:15 -07:00
andrey@example.com
3cbb16587f Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  example.com:/work/mysql-5.0-runtime
2006-08-25 20:04:19 +02:00
andrey@example.com
f115ecf89f Fix for bug#21795: SP: sp_head::is_not_allowed_in_function() contains
erroneous check

Problem: Actually there were two problems in the server code. The check
for SQLCOM_FLUSH in SF/Triggers were not according to the existing
architecture which uses sp_get_flags_for_command() from sp_head.cc .
This function was also missing a check for SQLCOM_FLUSH which has a
problem combined with prelocking. This changeset fixes both of these
deficiencies as well as the erroneous check in
sp_head::is_not_allowed_in_function() which was a copy&paste error.
2006-08-25 15:51:29 +02:00
anozdrin/alik@alik.
7121f5b351 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  alik.:/mnt/raid/alik/MySQL/devel/5.0-rt-bug16899
2006-08-25 13:37:07 +04:00
acurtis/antony@xiphis.org/ltantony.xiphis.org
aeea252b4d no longer need ifdef as plugin is conditionally compiled 2006-08-25 00:37:01 -07:00
kroki/tomash@moonlight.intranet
e48e2e4613 Comment cleanup after push of bug#21166. 2006-08-25 11:34:13 +04:00
acurtis/antony@xiphis.org/ltantony.xiphis.org
b68f0437e7 fix for windows build 2006-08-24 22:10:55 -07:00
andrey@example.com
85e6c3bfc1 Fix for bug#21416 SP: Recursion level higher than zero needed for non-recursive call
The following procedure was not possible if max_sp_recursion_depth is 0
create procedure show_proc() show create procedure show_proc;
  
Actually there is no recursive call but the limit is checked.
  
Solved by temporarily increasing the thread's limit just before the fetch from cache
and decreasing after that.
2006-08-24 19:36:26 +02:00
anozdrin/alik@alik.
ad7d4b0c3f Polishing (was the part of original patch for BUG#16899):
Changed trigger-handling code so that there will be the one
place for generate statement string for replication log
and for trigger file.
2006-08-24 18:48:26 +04:00
petr/cps@owlet.local
257ce16d58 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/home/cps/mysql/trees/mysql-5.1-virgin
2006-08-24 16:18:58 +04:00
petr/cps@mysql.com/owlet.local
e36be72adb after merge fix 2006-08-24 16:17:42 +04:00
kroki/tomash@moonlight.intranet
b6bee0a394 BUG#21166: Prepared statement causes signal 11 on second execution
Changes in an item tree done by optimizer weren't properly
registered and went unnoticed, which resulted in preliminary freeing
of used memory.
2006-08-24 15:49:12 +04:00
brian@zim.(none)
d41188130a This is a cleanup of warnings that windows is complaining about. 2006-08-23 15:12:42 -07:00
brian@zim.(none)
212ab97668 This patch removes need for a innodb to have its own configure. 2006-08-23 13:59:16 -07:00
anozdrin/alik@alik.
9af756efd3 Fix for BUG#16899: Possible buffer overflow in handling of DEFINER-clause
User name (host name) has limit on length. The server code relies on these
limits when storing the names. The problem was that sometimes these limits
were not checked properly, so that could lead to buffer overflow.

The fix is to check length of user/host name in parser and if string is too
long, throw an error.
2006-08-23 21:31:00 +04:00
timour/timka@lamia.home
70f76e457f Merge lamia.home:/home/timka/mysql/src/4.1-bug-21456
into  lamia.home:/home/timka/mysql/src/5.0-bug-21456
2006-08-23 18:22:53 +03:00
andrey@example.com
f41f9bf0d9 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  example.com:/work/mysql-5.1-runtime
2006-08-23 15:51:37 +02:00
andrey@example.com
9c8c1817ce Fix for bug #20665 All commands supported in Stored Procedures
should work in Prepared Statements. Post-review changeset.

Problem: There are some commands which are avaiable to be executed in SP
         but cannot be prepared. This patch fixes this and makes it possible
         prepare these statements.

Changes: The commands later are made available in PS. RESET has been forbidden
         in SF/Trigger.

Solution: All current server commands where checked and those missing (see later)
          we added. Tests for all of the commands with repeated executions were
          added - testing with SP, SF and PS.

SHOW BINLOG EVENTS
SHOW (MASTER | SLAVE) STATUS
SHOW (MASTER | BINARY) LOGS
SHOW (PROCEDURE | FUNCTION) CODE (parsable only in debug builds)
SHOW CREATE (PROCEDURE | FUNCTION | EVENT | TABLE | VIEW)
SHOW (AUTHORS | CONTRIBUTORS | WARNINGS | ERRORS)
CHANGE MASTER
RESET (MASTER | SLAVE | QUERY CACHE)
SLAVE (START | STOP)
CHECKSUM (TABLE | TABLES)
INSTALL PLUGIN
UNINSTALL PLUGIN
CACHE INDEX
LOAD INDEX INTO CACHE
GRANT
REVOKE
KILL
(CREATE | RENAME | DROP) DATABASE
(CREATE | RENAME | DROP) USER
FLUSH (TABLE | TABLES | TABLES WITH READ LOCK | HOSTS | PRIVILEGES |
       LOGS | STATUS | MASTER | SLAVE | DES_KEY_FILE | USER_RESOURCES)
2006-08-23 15:50:06 +02:00
timour/timka@lamia.home
de723f2998 Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
optimization because ORDER BY may be removed when GROUP BY/DISTINCT
sorts as a side effect, e.g. in 
  SELECT DISTINCT <non-key-col>,<pk> FROM t1
  ORDER BY <non-key-col> DISTINCT
must be removed before ORDER BY as if done the other way around
it will remove both.
2006-08-23 16:46:57 +03:00
petr/cps@owlet.local
5fae48d9e4 Merge mysql.com:/home/cps/mysql/trees/mysql-5.0-virgin
into  mysql.com:/home/cps/mysql/trees/mysql-5.1-virgin
2006-08-23 17:15:24 +04:00
petr/cps@owlet.local
2763504be4 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/cps/mysql/trees/mysql-5.1-virgin
2006-08-23 16:48:39 +04:00
malff/marcsql@weblab.(none)
28ac53688f Bug#8153 (Stored procedure with subquery and continue handler, wrong result)
Implemented code review comments
Test cleanup
2006-08-22 18:58:14 -07:00
brian@zim.(none)
b518763728 This changest:
Plugins now when compiled or not compiled work correctly with status variables. 
Status variables from plugins now set their own names (removed bit where plugin name was pre-appended this broke Innodb and Cluster)
A few Makefile cleanups.
2006-08-22 16:24:12 -07:00
malff/marcsql@weblab.(none)
154bb53b1f Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-8153
2006-08-22 09:06:00 -07:00
msvensson@neptunus.(none)
b2a95f0dac Update result file for "grant" to 5.1 version 2006-08-22 14:16:39 +02:00
kroki/tomash@moonlight.intranet
9c1b3f5797 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21051-2
2006-08-22 12:21:37 +04:00
kroki/tomash@moonlight.intranet
0f0ddc398a BUG#21051: RESET QUERY CACHE very slow when query_cache_type=0
There were two problems: RESET QUERY CACHE took a long time to complete
and other threads were blocked during this time.

The patch does three things:
  1 fixes a bug with improper use of test-lock-test_again technique.
      AKA Double-Checked Locking is applicable here only in few places.
  2 Somewhat improves performance of RESET QUERY CACHE.
      Do my_hash_reset() instead of deleting elements one by one.  Note
      however that the slowdown also happens when inserting into sorted
      list of free blocks, should be rewritten using balanced tree.
  3 Makes RESET QUERY CACHE non-blocking.
      The patch adjusts the locking protocol of the query cache in the
      following way: it introduces a flag flush_in_progress, which is
      set when Query_cache::flush_cache() is in progress.  This call
      sets the flag on enter, and then releases the lock.  Every other
      call is able to acquire the lock, but does nothing if
      flush_in_progress is set (as if the query cache is disabled).
      The only exception is the concurrent calls to
      Query_cache::flush_cache(), that are blocked until the flush is
      over.  When leaving Query_cache::flush_cache(), the lock is
      acquired and the flag is reset, and one thread waiting on
      Query_cache::flush_cache() (if any) is notified that it may
      proceed.
2006-08-22 11:47:52 +04:00
cmiller@zippy.cornsilk.net
d170f1b124 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.1
2006-08-21 16:59:53 -04:00
rburnett@bk-internal.mysql.com
f98b21b732 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt
2006-08-21 20:27:32 +02:00
cmiller@zippy.cornsilk.net
f2f90320de Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.1
2006-08-21 12:59:46 -04:00
cmiller@zippy.cornsilk.net
ff57b304a4 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.1
2006-08-21 12:55:43 -04:00
dlenev@mockturtle.local
8fb55ff0cf Fix for bug#19403/12212 "Crash that happens during removing of database name
from cache" and #21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES causes
server to crash".

Crash happened when one ran DROP DATABASE or SHOW OPEN TABLES statements
while concurrently doing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE
or any other command that takes name-lock) in other connection.

This problem was caused by the fact that table placeholders which were
added to table cache in order to obtain name-lock on table had
TABLE_SHARE::db and table_name set to 0. Therefore they broke assumption
that these members are non-0 for all tables in table cache on which some
of our code relies.

The fix sets these members for such placeholders to appropriate value making
this assumption true again. As attempt to avoid such problems in future
we introduce auxiliary TABLE_SHARE::set_table_cache_key() methods which
should be used when one wants to set TABLE_SHARE::table_cache_key and which
ensure that TABLE_SHARE::table_name/db are set properly.

Test cases for these bugs were added to 5.0 test-suite (with 5.0-specific
fix for bug #21216).
2006-08-21 19:02:11 +04:00
joerg@trift2.
47d6296bc7 mysql-test/mysql-test-run.pl : Use fixed path names for all NDB binaries,
because searching for them makes the script abort with all non-NDB builds.
2006-08-21 16:19:29 +02:00
kent@mysql.com/g4-2.local
b329f2c3ef Many files:
Deleted config/ac-macros/ha_berkeley.m4
  Removed more referenses to bdb
2006-08-21 15:34:29 +02:00
rburnett@bk-internal.mysql.com
e37e0786fc Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt
2006-08-21 14:38:58 +02:00
dlenev@mockturtle.local
320f8ccc2f Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg21216-2
2006-08-21 13:08:49 +04:00
dlenev@mockturtle.local
a486f95547 Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg21216-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg19403-2
2006-08-21 12:28:35 +04:00
dlenev@mockturtle.local
186fa6c291 Fix for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES causes
server to crash".

Crash caused by assertion failure happened when one ran SHOW OPEN TABLES
while concurrently doing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE
or any other command that takes name-lock) in other connection.
For non-debug version of server problem exposed itself as wrong output
of SHOW OPEN TABLES statement (it was missing name-locked tables).
Finally in 5.1 both debug and non-debug versions simply crashed in
this situation due to NULL-pointer dereference.

This problem was caused by the fact that table placeholders which were
added to table cache in order to obtain name-lock had TABLE_SHARE::table_name
set to 0. Therefore they broke assumption that this member is non-0 for
all tables in table cache which was checked by assert in list_open_tables()
(in 5.1 this function simply relies on it).
The fix simply sets this member for such placeholders to appropriate value
making this assumption true again.

This patch also includes test for similar bug 12212 "Crash that happens
during removing of database name from cache" reappeared in 5.1 as bug 19403.
2006-08-21 12:18:59 +04:00
jpipes@shakedown.(none)
56443ae201 Fix for bug #21642: "configure" with no arguments does not build 2006-08-20 17:24:48 -04:00
brian@zim.(none)
f68ce0ddef This changeset moves the ha_myisam files to their storage directories. It also includes updates for all engines include patch for windows builds. 2006-08-19 17:38:42 -07:00