Commit graph

13780 commits

Author SHA1 Message Date
paul@snake-hub.snake.net
f47ed62fb0 Merge paul@bk-internal.mysql.com:/home/bk/mysql-5.0
into  snake-hub.snake.net:/src/extern/MySQL/bk/mysql-5.0
2006-02-23 11:07:56 -06:00
paul@snake-hub.snake.net
b2529c2ab2 mysqld.cc:
Fix out of order entries in option struct.
2006-02-23 09:11:05 -06:00
msvensson@neptunus.(none)
71ef9102c1 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-02-23 10:45:39 +01:00
aelkin@mysql.com
35861f3006 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/5.0-bug17265
2006-02-22 18:53:34 +02:00
aelkin@mysql.com
4155d1405e BUG#17265 Assertion failure in rpl_row_view01.
To quote Timour review lines:

The actual cause of the bug is that sql_base.cc:setup_wild()
sets "select_lex->with_wild = 0" (in the end of the function) once
it expands all wild-cards, and wild-card expansion is done during
the prepare phase. During this phase we replace all "*" with the
corresponding items, which for views happen to be references to
references. When we do execute, select_lex->with_wild = 0, and
all "*" are already replaced by the corresponding items, which
in the case of views need to be dereferenced first.

Fixed by refining the assert. Regression test for the bug is rpl_row_view01,
as was reported.
2006-02-22 17:07:18 +02:00
anozdrin@mysql.com
a77cc69e62 Fix for BUG#7787: Stored procedures: improper warning for "grant execute" statement.
The problem was that error flag was not reset.
2006-02-22 13:44:04 +03:00
konstantin@mysql.com
f0abdf1ebe Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/opt/local/work/mysql-5.0-runtime
2006-02-22 01:20:47 +03:00
msvensson@neptunus.(none)
334b9c7a27 Merge neptunus.(none):/home/msvensson/mysql/bug16878/my50-bug16878
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-02-21 17:19:46 +01:00
msvensson@neptunus.(none)
674ee5987c Merge neptunus.(none):/home/msvensson/mysql/bug2845/my50-bug2845
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-02-21 08:44:27 +01:00
igor@rurik.mysql.com
a3093f7e1e Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2006-02-19 17:26:06 -08:00
guilhem@mysql.com
37c1744a03 Fix for BUG#13897 "failure to do SET SQL_MODE=N where N is a number > 31" (the original bug's title isn't the simplest
symptom). sys_var::check_set() was wrong. mysqlbinlog makes use of such SET SQL_MODE=N
(where N is interpreted like if SQL_MODE was a field of type SET), so
this bug affected recovery from binlogs if the server was running with certain SQL_MODE values,
for example the default values on Windows (STRICT_TRANS_TABLES); to work around this bug people
had to edit mysqlbinlog's output.
2006-02-18 17:32:15 +01:00
guilhem@mysql.com
56bed24c92 Fix for BUG#14769 "Function fails to replicate if fails half-way (slave stops)":
if the function, invoked in a non-binlogged caller (e.g. SELECT, DO), failed half-way on the master,
slave would stop and complain that error code between him and master mismatch. 
To solve this, when a stored function is invoked in a non-binlogged caller (e.g. SELECT, DO), we binlog the function
call as SELECT instead of as DO (see revision comment of sp_head.cc for more).
And: minor wording change in the help text.
This cset will cause conflicts in 5.1, I'll merge.
2006-02-18 17:26:30 +01:00
guilhem@mysql.com
4c5d18b150 Fix for BUG#16559 "Replication Problems with Non transactional tables inside an interrupted trans.":
problem was: when a connection disconnects having an open transaction affecting MyISAM and InnoDB, the ROLLBACK event stored in the binary log
contained a non-zero error code (1053 because of the disconnection), so when slave applied the transaction, slave complained that its ROLLBACK succeeded
(error_code=0) while master's had 1053, so slave stopped. But internally generated binlog events such as this ROLLBACK
should always have 0 as error code, as is true in 4.1 and was accidentally broken in 5.0,
so that there is no false alarm.
2006-02-18 17:19:16 +01:00
jimw@mysql.com
38aafce1ef Merge mysql.com:/home/jimw/my/mysql-5.0-14676
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2006-02-17 08:32:50 -08:00
evgen@moonbone.local
e115d605de Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/15706-bug-5.0-mysql
2006-02-17 15:36:56 +03:00
holyfoot@mysql.com
f500cbf83c Merge bk@192.168.21.1:mysql-5.0
into mysql.com:/home/hf/work/mysql-5.0.w2645
2006-02-17 10:56:54 +04:00
holyfoot@deer.(none)
053d90a234 WL#2645 (CHECK TABLE FOR UPGRADE)
necessary implementation in the server
mysql_upgrade script added
2006-02-17 10:52:32 +04:00
evgen@moonbone.local
611f25f932 Merge 2006-02-16 21:11:38 +03:00
dlenev@mysql.com
e47606a30b Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/dlenev/src/mysql-5.0-bg16593
2006-02-16 16:22:53 +03:00
dlenev@mysql.com
4a41a00d4b Fix for bug #16593 "Deadlock or crash in stress test for case where
trigger starts trigger".

In short, the deadlock/crash happened when execution of statement, which used
stored functions or activated triggers, coincided with alteration of the
tables used by these functions or triggers (in highly concurrent environment).

Bug was caused by the incorrect handling of tables from prelocked set in
open_tables() functions in situations when refresh happened. This fix replaces
old smart but not very robust way of handling tables after refresh (which was
closing only old tables), with new one which simply closes all tables opened so
far and restarts open_tables().
Also fixed handling of temporary tables in close_tables_for_reopen().

No test case present since bug manifests itself only in concurrent environment.
2006-02-16 16:19:24 +03:00
msvensson@neptunus.(none)
8c828967ee Bug#2845 client fails to reconnect if using TCP/IP
- Detect that connection to server has been broken in "net_clear". Since 
  net_clear is always called before we send command to server, we can be sure
  that server has not received the command.
2006-02-16 12:02:38 +01:00
ingo@mysql.com
65a4e27633 Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug8841
2006-02-16 08:59:55 +01:00
evgen@moonbone.local
4d2b0fd026 Fix bug #15706 find_field_in_tables() returns field from outer select
If item->cached_table is set, find_field_in_tables() returns found field
even if it doesn't belong to current select. Because Item_field::fix_fields
doesn't expect such behaviour, reported bug occurs.

Item_field::fix_fields() was modifed to detect when find_field_in_tables() 
can return field from outer select and process such fields accordingly.
In order to ease this code which was searching and processing outed fields was
moved into separate function called Item_field::fix_outer_field().
2006-02-15 19:45:06 +03:00
aelkin@mysql.com
42cc473df3 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/mysql-5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
2006-02-14 20:19:00 +02:00
evgen@moonbone.local
131217eb6f Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/16272-bug-5.0-mysql
2006-02-14 19:46:35 +03:00
evgen@moonbone.local
8f904e9cab Fixed bug#16272: IF function with decimal args can produce wrong result
The Item_func_if::fix_length_and_dec() function when calculating length of 
result doesn't take into account unsigned_flag. But it is taken when 
calculating length of temporary field. This result in creating field that 
shorter than needed. Due to this, in the reported query 40.0 converted to 9.99.

The function Item_func_if::fix_length_and_dec() now adds 1 to the max_length if 
the unsigned_flag isn't set.
2006-02-14 16:22:37 +03:00
aelkin@mysql.com
5bd5967bdb Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/mysql-5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
2006-02-14 12:44:26 +02:00
evgen@moonbone.local
84a775ca3c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/16752-bug-5.0-mysql
2006-02-14 11:33:46 +03:00
bar@mysql.com
561d7a03aa Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.0.cs_fs
2006-02-14 08:25:09 +04:00
bar@mysql.com
cc3623aecf Many files:
Backporting character_set_filesystem from 5.0 to 5.1.
2006-02-14 08:24:01 +04:00
igor@rurik.mysql.com
de6eedd756 Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2006-02-13 18:56:42 -08:00
igor@rurik.mysql.com
75b6930d54 Fixed bug #16603.
A subquery transformation changes the HAVING clause of the embedding query if the subquery contains
a GROUP BY clause. Yet the split_sum_func2 function was not applied to the modified HAVING clause.
This could result in wrong answers.
2006-02-13 18:50:06 -08:00
aelkin@mysql.com
a5da4ce669 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/5.0-bug16217
2006-02-13 22:00:11 +02:00
paul@snake-hub.snake.net
78f4f94059 Merge snake-hub.snake.net:/src/extern/MySQL/bk/mysql-5.0
into  snake-hub.snake.net:/src/extern/MySQL/bk/mysql-5.0-clone
2006-02-13 11:22:49 -06:00
paul@snake-hub.snake.net
5f2a401dba set_var.cc:
Fix out-of-order system variable.
2006-02-13 11:20:15 -06:00
aelkin@mysql.com
e7a0822a47 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/5.0-bug16217
2006-02-13 19:17:02 +02:00
pem@mysql.com
d67b0a6bf6 Merge mysql.com:/extern/mysql/bk/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/bug16896/mysql-5.0
2006-02-13 15:54:03 +01:00
tomas@poseidon.ndb.mysql.com
ce04588ca8 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
2006-02-13 14:32:04 +01:00
brian@zim.tangent.org
f43fa4a688 Discoved while debugging in 5.1 that there was a bug where a certain crash could lead to two problems. 1) An additional share in memory that was allocated but did not have the correct use_count (so it would never be fulled deleted). Also discovered that a thread that called repair would write new rows, but would not see them. All other threads were ok, and the data was fine, but the thread doing the repair was unable to see the new rows. 2006-02-13 04:11:22 -08:00
tomas@poseidon.ndb.mysql.com
4f449e4f22 ndb:
add optional reporting of of a "name" tied to a nodeid in the cluster log
reporting added for mysql server and ndb_restore
2006-02-13 12:58:12 +01:00
tomas@poseidon.ndb.mysql.com
5ba3f69f3e manual merge 2006-02-10 17:59:53 +01:00
tomas@poseidon.ndb.mysql.com
27a14f93eb Merge poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
2006-02-10 17:50:17 +01:00
tomas@poseidon.ndb.mysql.com
7050a7586e Bug #17249 ndb, delete statement with join where clause fails when table do not have pk
Bug #17257 ndb, update fails for inner joins if tables do not have Primary Key

change: the allocated area by setValue may not be around for later, store hidden key in special member variable instead
2006-02-10 17:40:22 +01:00
aelkin@mysql.com
dd2a44c497 BUG#16217 forced to introduce a separate mysql client command to adopt its
internal charset to one associated with currently being handled query. 
To note such a query can come from interactive client either.

There was a discussion within replication team and Monty who's suggestion won.
It avoids straightforward parsing of all `set' queries that could affect client side 
character set. 
According to the idea, mysql client does not parse `set' queries but rather cares of
`charset new_cs_name' command.
This command is generated by mysqlbinlog in form of exclaiming comment (Lars' suggestion)
so that enlightened clients like `mysql' knows what to do with it.

Interactive human can switch between many multi-byte charsets during the session 
providing the command explicitly. 
To note that setting new internal mysql's charset does not
trigger sending any `SET' sql statement to the server.
2006-02-09 16:23:09 +02:00
pem@mysql.com
6f170782b2 Fixed BUG#16896: Stored function: unused AGGREGATE-clause in CREATE FUNCTION
Check if AGGREGATE was given with a stored (non-UDF) function, and return
  error in that case.
  Also made udf_example/udf_test work again, by adding a missing *_init()
  function. (_init() functions required unless --allow_suspicious_udfs is
  given to the server, since March 2005 - it seems udf_example wasn't updated
  at the time.)
2006-02-09 13:00:32 +01:00
msvensson@neptunus.(none)
32c2712083 Bug#16878 dump of trigger
- Pass "in_comment" variable on to new lex in sp_head::reset_lex
 - Add testcases for dumping and reloading trigger without BEGIN/END
2006-02-09 11:05:28 +01:00
evgen@moonbone.local
3a3f8379cb Fixed bug#16752 Binary table files created in mysqld v4.1 caused buffer overrun
and possibly server crash in mysqld v5.0.

Reported MyISAM table was created in mysqld 4.1 and contains varchar field.
When binary files of that table was moved to 5.0, mysqld treats that varchar 
field as a string field. 
In order to make grouping server calculates group buffer, and because
that field is string server assumes it has fixed length and doesn't add
space for length, but later that field is converted to varchar field. 
Due to this, when field values were actually copied, additional space for
length bytes is taken and buffer overrun occurs, which may lead to server crash.

The calc_group_buffer() function now reserves additional space for length
bytes for VAR_STRING fields, like for VARCHAR fields.
2006-02-08 15:12:48 +03:00
ramil@mysql.com
ebe1eed8aa Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/5.0.b16511
2006-02-08 10:34:30 +04:00
pekka@mysql.com
14249f23ed Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/space/pekka/ndb/version/my50
2006-02-07 21:52:56 +01:00
gunnar@mysql.com.
f6590a3b89 Merge gboehn@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com.:/data/BK/mysql-5.0
2006-02-07 20:50:28 +01:00