Commit graph

37923 commits

Author SHA1 Message Date
kaa@polly.(none)
7ed0b70cce Merge polly.(none):/home/kaa/src/maint/bug28878/my41-bug28878
into  polly.(none):/home/kaa/src/maint/bug28878/my50-bug28878
2007-10-10 23:16:12 +04:00
dkatz@damien-katzs-computer.local
ae22204c36 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
2007-10-10 14:46:30 -04:00
istruewing@stella.local
da9b4288ed Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-10-10 20:44:05 +02:00
anozdrin/alik@station.
05cf10bdf6 Cleanup sp.test. 2007-10-10 14:42:29 +04:00
davi@virtua-cwbas201-21-158-74.ctb.virtua.com.br
0e9ccab47c Merge virtua-cwbas201-21-158-74.ctb.virtua.com.br:/Users/davi/mysql/push/bugs/28318-5.0
into  virtua-cwbas201-21-158-74.ctb.virtua.com.br:/Users/davi/mysql/push/mysql-5.0-runtime
2007-10-09 20:48:37 -03:00
davi@virtua-cwbas201-21-158-74.ctb.virtua.com.br
fd3c6b1855 Bug#28318 CREATE FUNCTION (UDF) requires a schema
Bug#29816 Syntactically wrong query fails with misleading error message

The core problem is that an SQL-invoked function name can be a <schema
qualified routine name> that contains no <schema name>, but the mysql
parser insists that all stored procedures (function, procedures and
triggers) must have a <schema name>, which is not true for functions.
This problem is especially visible when trying to create a function
or when a query contains a syntax error after a function call (in the
same query), both will fail with a "No database selected" message if
the session is not attached to a particular schema, but the first
one should succeed and the second fail with a "syntax error" message.

Part of the fix is to revamp the sp name handling so that a schema
name may be omitted for functions -- this means that the internal
function name representation may not have a dot, which represents
that the function doesn't have a schema name. The other part is
to place schema checks after the type (function, trigger or procedure)
of the routine is known.
2007-10-09 20:46:33 -03:00
tsmith@ramayana.hindu.god
e2bfd46b42 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/41
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-10-09 13:58:48 -06:00
tsmith@ramayana.hindu.god
ed8c737a75 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-10-09 13:49:58 -06:00
davi@moksha.com.br
c3d06676f8 Merge moksha.com.br:/Users/davi/mysql/push/mysql-5.0-runtime
into  moksha.com.br:/Users/davi/mysql/push/bugs/31409-5.0
2007-10-09 16:27:54 -03:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
fa5eb277ec metadata test of bug # 31249: problem with convert(..., datetime) removed
as PS protocol gives slightly different metadata.
2007-10-09 22:40:22 +05:00
cmiller@zippy.cornsilk.net
b0ef3979d0 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2007-10-09 11:04:45 -04:00
davi@moksha.local
7252cbe1e0 Bug#31409 RENAME TABLE causes server crash or deadlock when used with HANDLER statements
This deadlock occurs when a client issues a HANDLER ... OPEN statement
that tries to open a table that has a pending name-lock on it by another
client that also needs a name-lock on some other table which is already
open and associated to a HANDLER instance owned by the first client.
The deadlock happens because the open_table() function will back-off
and wait until the name-lock goes away, causing a circular wait if some
other name-lock is also pending for one of the open HANDLER tables.

Such situation, for example, can be easily repeated by issuing a RENAME
TABLE command in such a way that the existing table is already open
as a HANDLER table by another client and this client tries to open
a HANDLER to the new table name.

The solution is to allow handler tables with older versions (marked for
flush) to be closed before waiting for the name-lock completion. This is
safe because no other name-lock can be issued between the flush and the
check for pending name-locks.

The test case for this bug is going to be committed into 5.1 because it
requires a test feature only avaiable in 5.1 (wait_condition).
2007-10-09 12:02:59 -03:00
ramil/ram@ramil.myoffice.izhnet.ru
a861449596 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b31249/b31249.5.0
2007-10-09 18:14:13 +05:00
istruewing@stella.local
a1caefe36c Merge stella.local:/home2/mydev/mysql-5.0-bug15522-old
into  stella.local:/home2/mydev/mysql-5.0-bug15522
2007-10-09 13:38:46 +02:00
istruewing@stella.local
1285baf608 Bug#15522 - create ... select and with merge tables
Added test case.
The fix for Bug#20662 does also fix this one.
2007-10-09 13:10:51 +02:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
4792385177 Fix for bug #31249: Assertion `!table || (!table->write_set ||
bitmap_is_set(table->write_set, fiel

Problem: creating a temporary table we allocate the group buffer if needed
followed by table bitmaps (see create_tmp_table()). Reserving less memory for 
the group buffer than actually needed (used) for values retrieval may lead 
to overlapping with followed bitmaps in the memory pool that in turn leads 
to unpredictable consequences.

As we use Item->max_length sometimes to calculate group buffer size,
it must be set to proper value. In this particular case 
Item_datetime_typecast::max_length is too small.

Another problem is that we use max_length to calculate the group buffer
key length for items represented as DATE/TIME fields which is superfluous.

Fix: set Item_datetime_typecast::max_length properly,
accurately calculate the group buffer key length for items 
represented as DATE/TIME fields in the buffer.
2007-10-09 14:37:21 +05:00
iggy@alf.(none)
5e98415d4a Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  alf.(none):/src/bug28774/my50-bug28774
2007-10-08 22:40:30 -04:00
iggy@alf.(none)
19107288e4 Bug#28774 mysql_upgrade creates tempfiles in root-dir (C:\) and
doesn't clean them up
- Make sure to cleanup temporary files after use.
2007-10-08 22:30:41 -04:00
dkatz@damien-katzs-computer.local
b2fec8877c Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
2007-10-08 13:10:55 -04:00
anozdrin/alik@station.
2885d0df15 Get rid of compilation warning. 2007-10-08 17:59:23 +04:00
anozdrin/alik@station.
128772ba1f Fix compilation warning. 2007-10-08 17:09:28 +04:00
kostja@bodhi.(none)
7ec30183bb Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-10-08 02:05:55 +04:00
tnurnberg@sin.intern.azundris.com
48b0c25884 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sin.intern.azundris.com:/home/tnurnberg/31253/50-31253
2007-10-06 03:02:31 +02:00
tnurnberg@sin.intern.azundris.com
da8fbb7522 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sin.intern.azundris.com:/home/tnurnberg/19828/50-19828
2007-10-06 00:14:22 +02:00
msvensson@pilot.mysql.com
495dcdcc6b Merge pilot.mysql.com:/data/msvensson/mysql/bug27789/my50-bug27789
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-maint
2007-10-05 19:56:25 +02:00
msvensson@pilot.mysql.com
0a07b64d8a Fixed Bug #27789 "Wrong permissions of sql/share/language directories" 2007-10-05 19:55:00 +02:00
msvensson@pilot.mysql.com
53975763b8 Merge msvensson2.mysql.internal:mysql/mysql-5.0-maint
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-maint
2007-10-05 19:32:14 +02:00
msvensson@shellback.(none)
6132e82888 Update test case to allow the .reject file to be in either var/log or r/ 2007-10-05 19:28:09 +02:00
msvensson@shellback.(none)
be40fefd73 Bug#27753 enable mysql-test-run.pl to ignore tests based on wildcard 2007-10-05 19:23:44 +02:00
cmiller@zippy.cornsilk.net
eedde95a33 Change URLs.
Our web server has been restructured several times, and references
to it in our source code has stayed the same.  This patch from Paul
DuBois updates all URLs to modern semantics.
2007-10-05 13:16:54 -04:00
msvensson@shellback.(none)
c86bd100c8 Bug#30560 Valgrind option to mysql-test-run with spaces in cause strange error 2007-10-05 18:36:23 +02:00
msvensson@shellback.(none)
39a069b296 Bug#31398 problems with mysql-test-run, part2
Write .reject file to r/ if it's writable else use opt_logdir
2007-10-05 18:18:50 +02:00
msvensson@shellback.(none)
626faeecd9 Bug#31398 problems with mysql-test-run
- "mysqld --verbose --help" need to be started in a writable directory
2007-10-05 17:54:19 +02:00
msvensson@pilot.mysql.com
ffd9c2bb76 Merge bk-internal:/home/bk/mysql-5.0-runtime
into  pilot.mysql.com:/data/msvensson/mysql/my50-r-bug30992
2007-10-05 14:47:43 +02:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
b4b7cf2a95 Fix for bug #30885: MEMORY returns incorrect data if BTREE index is used for NULL lookup
Problem: creating an rb-tree key we store length (2 bytes) before the actual data for 
varchar key parts. The fact was missed for NULL key parts, when we set NULL byte and 
skip the rest.

Fix: take into account the length of the varchar key parts for NULLs.
2007-10-05 16:33:15 +05:00
tnurnberg@sin.intern.azundris.com
455c05abcf Bug #31253: crash comparing datetime to double
convert(<invalid time>, datetime) in WHERE caused crash as function
returned (void*)NULL, but did not flag SQL NULL. It does now.
2007-10-05 12:08:38 +02:00
tnurnberg@sin.intern.azundris.com
5f45fd05bf Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sin.intern.azundris.com:/home/tnurnberg/31227/50-31227
2007-10-05 10:04:45 +02:00
tnurnberg@sin.intern.azundris.com
caaf8f56bd Bug#31227: memory overrun with decimal (6,6) and zerofill and group_concat
Reserve the space for the leading 0 (before the decimal point) in DECIMAL(a,a) ZEROFILL.
2007-10-05 09:38:57 +02:00
bar@mysql.com/bar.myoffice.izhnet.ru
40f68cd4b3 Bug#31081 server crash in regexp function
Problem: The "regex" library written by Henry Spencer
does not support tricky character sets like UCS2.
Fix: convert tricky character sets to UTF8 before calling
regex functions.
2007-10-05 12:15:11 +05:00
davi@moksha.local
a8f2ba0f80 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  moksha.local:/Users/davi/mysql/push/mysql-5.0-runtime
2007-10-04 19:56:27 -03:00
davi@moksha.local
305ebc1e21 Bug#21587 FLUSH TABLES causes server crash when used with HANDLER statements
This bug is a symptom of the way handler's tables are managed. The
most different aspect, compared to the conventional behavior, is that
the handler's tables are long lived, meaning that their lifetimes are
not bounded by the duration of the command that opened them. For this
effect the handler code uses its own list (handler_tables instead of
open_tables) to hold open handler tables so that the tables won't be
closed at the end of the command/statement. Besides the handler_tables
list, there is a hash (handler_tables_hash) which is used to associate
handler aliases to tables and to refresh the tables upon demand (flush
tables).

The current implementation doesn't work properly with refreshed tables
-- more precisely when flush commands are issued by other initiators.
This happens because when a handler open or read statement is being
processed, the associated table has to be opened or locked and, for this
matter, the open_tables and handler_tables lists are swapped so that the
new table being opened is inserted into the handler_tables list. But when
opening or locking the table, if the refresh version is different from the
thread refresh version then all used tables in the open_tables list (now
handler_tables) are refreshed. In the "refreshing" process the handler
tables are flushed (closed) without being properly unlinked from the
handler hash.

The current implementation also fails to properly discard handlers of
dropped tables, but this and other problems are going to be addressed
in the fixes for bugs 31397 and 31409.

The chosen approach tries to properly save and restore the table state
so that no table is flushed during the table open and lock operations.
The logic is almost the same as before with the list swapping, but with
a working glue code.

The test case for this bug is going to be committed into 5.1 because it
requires a test feature only avaiable in 5.1 (wait_condition).
2007-10-04 17:34:41 -03:00
tsmith@sita.local
35d9a05f9f Merge sita.local:/Users/tsmith/m/bk/50-5.0.48
into  sita.local:/Users/tsmith/m/bk/maint/50
2007-10-04 13:58:40 -06:00
joerg@trift2.
82767a0a45 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-10-04 19:24:32 +02:00
tnurnberg@sin.intern.azundris.com
567ceed59d Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sin.intern.azundris.com:/home/tnurnberg/30444/50-30444
2007-10-04 19:02:31 +02:00
tnurnberg@sin.intern.azundris.com
d087c8119e Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  sin.intern.azundris.com:/home/tnurnberg/30444/41-30444
2007-10-04 18:58:54 +02:00
aelkin/elkin@koti.dsl.inet.fi
4c01449b84 Merge koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/BARE/5.0
into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug29309-wrong_master_timestamp
2007-10-04 18:47:51 +03:00
aelkin/elkin@koti.dsl.inet.fi
501cce2b33 Bug #29309 Incorrect "Seconds_Behind_Master" value in SHOW SLAVE STATUS after FLUSH LOGS
Report claims that Seconds_behind_master behaves unexpectedly. 

Code analysis shows that there is an evident flaw in that treating of FormatDescription event is wrong
so  that after FLUSH LOGS on slave the Seconds_behind_master's calculation slips and incorrect
value can be reported to SHOW SLAVE STATUS. 
Even worse is that the gap between the correct and incorrect deltas grows with time.

Fixed with prohibiting changes to rpl->last_master_timestamp by artifical events (any kind of).
suggestion as comments is added how to fight with lack of info on the slave side by means of
new heartbeat feature coming.

The test can not be done ealily fully determistic.
2007-10-04 18:46:31 +03:00
anozdrin/alik@station.
707f067446 Fix for BUG#31035: select from function, group by result crasher.
This actually, fix for the patch for bug-27354. The problem with
the patch was that Item_func_sp::used_tables() was updated, but
Item_func_sp::const_item() was not. So, for Item_func_sp, we had
the following inconsistency:
  - used_tables() returned RAND_TABLE, which means that the item
    can produce "random" results;
  - but const_item() returned TRUE, which means that the item is
    a constant one.

The fix is to change Item_func_sp::const_item() behaviour: it must
return TRUE (an item is a constant one) only if a stored function
is deterministic and each of its arguments (if any) is a constant
item.
2007-10-04 17:19:14 +04:00
kaa@polly.(none)
f74d805e16 Backport of the 5.0 patch to 4.1
Bug#28878: InnoDB tables with UTF8 character set and indexes cause  wrong result for DML
When making key reference buffers over CHAR fields whitespace (0x20) must be used to fill in the remaining space in the field's buffer. This is what Field_string::store() does. Fixed Field_string::get_key_image() to do the same.
2007-10-04 14:22:35 +04:00
jperkin@production.mysql.com
583a3ef31d Merge production.mysql.com:/usersnfs/jperkin/bk/build/5.0
into  production.mysql.com:/usersnfs/jperkin/bk/bug-27692/5.0
2007-10-04 12:06:13 +02:00