Commit graph

22773 commits

Author SHA1 Message Date
kostja@bodhi.(none)
cd72fffa5f Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime-inc-2
2007-10-30 20:10:11 +03:00
kostja@bodhi.(none)
e4b353c40c Use an inline getter method (thd->is_error()) to query if there is an error
in THD.
In future the error may be stored elsewhere (not in net.report_error) and 
it's important to start using an opaque getter to simplify merges.
2007-10-30 20:08:16 +03:00
kostja@bodhi.(none)
5a09edd203 Fix failing init_connect.test (5.1-runtime). 2007-10-30 15:39:50 +03:00
malff@lambda.weblab
0909d1f8cb Merge lambda.weblab:/home/malff/TREE/mysql-5.1-base
into  lambda.weblab:/home/malff/TREE/mysql-5.1-rt-merge
2007-10-29 08:07:27 -06:00
anozdrin/alik@station.
ee25b4f56f Fix for BUG#27610: ALTER TABLE ROW_FORMAT=... does not
rebuild the table.

The problem was that ROW_FORMAT clause in ALTER TABLE did not trigger
table reconstruction.

The fix is to rebuild a table if ROW_FORMAT is specified.
2007-10-29 15:42:49 +03:00
malff@lambda.hsd1.co.comcast.net.
2bc41b7e1e Bug#30854 (Tables name show as binary in slave err msg on vm-win2003-64-b)
The root cause of this defect is that a call to my_error() is using a
'LEX_STRING' parameter instead of a 'char*'

This patch fixes the failing calls to my_error(), as well as similar calls
found during investigation.

This is a compiling bug (see the instrumentation in the bug report), no test cases provided.
2007-10-24 19:01:08 -06:00
anozdrin/alik@station.
9586784366 Merge station.:/mnt/raid/alik/MySQL/devel/5.0-rt
into  station.:/mnt/raid/alik/MySQL/devel/5.1-rt
2007-10-24 11:43:16 +04:00
gluh@eagle.(none)
17acda6ca8 Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-10-23 19:08:21 +05:00
anozdrin/alik@station.
b2264ff810 Patch for BUG#30736: Row Size Too Large Error Creating a Table and
Inserting Data.

The problem was that under some circumstances Field class was not
properly initialized before calling create_length_to_internal_length()
function, which led to assert failure.

The fix is to do the proper initialization.

The user-visible problem was that under some circumstances
CREATE TABLE ... SELECT statement crashed the server or led
to wrong error message (wrong results).
2007-10-23 18:03:51 +04:00
kaa@polly.(none)
6832d2cc1b Merge polly.(none):/home/kaa/src/opt/bug31742/my51-bug28550
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
2007-10-23 16:07:03 +04:00
kaa@polly.(none)
17a533e0d0 Merge polly.(none):/home/kaa/src/opt/bug31742/my50-bug28550
into  polly.(none):/home/kaa/src/opt/bug31742/my51-bug28550
2007-10-23 15:52:27 +04:00
gkodinov/kgeorge@magare.gmz
58bce232a8 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30825-5.1-opt
2007-10-23 14:28:50 +03:00
gkodinov/kgeorge@magare.gmz
7c344185bd Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28687-5.1-opt
2007-10-23 14:21:50 +03:00
gkodinov/kgeorge@magare.gmz
3553f6eac2 Merge magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B30825-5.1-opt
2007-10-23 11:44:14 +03:00
gkodinov/kgeorge@magare.gmz
d066e2173c Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
2007-10-23 11:26:37 +03:00
gkodinov/kgeorge@magare.gmz
0a14d1a19b Merge magare.gmz:/home/kgeorge/mysql/work/B28687-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B28687-5.1-opt
2007-10-23 11:22:59 +03:00
gluh@mysql.com/eagle.(none)
ffea2073b1 Bug#31633 Information schema = NULL queries crash the server
added correct handling of NULL values for lookup fields
2007-10-23 13:20:51 +05:00
gkodinov/kgeorge@magare.gmz
52b35112cf Bug #28687: Search fails on '0000-00-00' date after sql_mode change
When doing indexed search the server constructs a key image for 
faster comparison to the stored keys. While doing that it must not
perform (and stop if they fail) the additional date checks that can 
be turned on by the SQL mode because there already may be values in 
the table that don't comply with the error checks.
Fixed by ignoring these SQL mode bits while making the key image.
2007-10-22 19:32:18 +03:00
kaa@polly.(none)
53a9e7f478 Fix for bug #31742: delete from ... order by function call that causes
an error, asserts server

In case of a fatal error during filesort in find_all_keys() the error
was returned without the necessary handler uninitialization.
Fixed by changing the code so that handler uninitialization is performed
before returning the error.
2007-10-22 16:10:08 +04:00
holyfoot/hf@hfmain.(none)
5b67dca442 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/30638/my50-30638
2007-10-22 10:27:35 +05:00
holyfoot/hf@hfmain.(none)
bf19259d83 Merge mysql.com:/home/hf/work/29801/my50-29801
into  mysql.com:/home/hf/work/30638/my50-30638
2007-10-22 10:26:16 +05:00
tnurnberg@white.intern.koehntopp.de
478079b2e8 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/scratch/tnurnberg/31588/50-31588
2007-10-22 01:57:49 +02:00
tnurnberg@white.intern.koehntopp.de
44fbb702b9 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/scratch/tnurnberg/31588/51-31588
2007-10-21 22:49:16 +02:00
kaa@polly.(none)
d998b471c9 Merge polly.(none):/home/kaa/src/opt/bug28550/my51-bug28550
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
2007-10-21 21:57:57 +04:00
kaa@polly.(none)
f9ba86ee86 Merge polly.(none):/home/kaa/src/opt/bug28550/my50-bug28550
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-10-21 21:55:26 +04:00
kaa@polly.(none)
d55d309380 Merge polly.(none):/home/kaa/src/opt/bug28550/my50-bug28550
into  polly.(none):/home/kaa/src/opt/bug28550/my51-bug28550
2007-10-21 21:49:30 +04:00
kaa@polly.(none)
349841118f Bug #28550 "Potential bugs related to the return type of the CHAR function".
Since, as of MySQL 5.0.15, CHAR() arguments larger than 255 are converted into multiple result bytes, a single CHAR() argument can now take up to 4 bytes. This patch fixes Item_func_char::fix_length_and_dec() to take this into account.
  
This patch also fixes a regression introduced by the patch for bug21513. As now we do not always have the 'name' member of Item set for Item_hex_string and Item_bin_string, an own print() method has been added to Item_hex_string so that it could correctly be printed by Item_func::print_args().
2007-10-21 21:45:31 +04:00
anozdrin/alik@station.
9a6f673143 Fix for BUG#31148: bool close_thread_table(THD*, TABLE**):
Assertion `table->key_read == 0' failed.

The problem was that key_read on a table in a sub-select was not
properly reset. That happens because the code responsible for that
is copy&pasted all around the server. In some place, it was obviously
forgotten to be pasted.

The fix is to reset key_read properly.
2007-10-20 21:48:15 +04:00
tnurnberg@sin.intern.azundris.com
b8feb23321 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  sin.intern.azundris.com:/misc/mysql/31588/51-31588
2007-10-20 17:18:23 +02:00
kostja@bodhi.(none)
62a7103a3d Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-10-20 01:21:20 +04:00
kostja@bodhi.(none)
7c00f8a3b4 Rename: query_error -> is_slave_error.
Add comments.
2007-10-20 01:20:38 +04:00
antony@pcg5ppc.xiphis.org
3b95727600 Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines.merge
2007-10-19 13:06:37 -07:00
anozdrin/alik@station.
c60397ef19 Patch for BUG#31111: --read-only crashes MySQL (events fail to load).
There actually were several problems here:
  - WRITE-lock is required to load events from the mysql.event table,
    but in the read-only mode an ordinary user can not acquire it;
  - Security_context::master_access attribute was not properly
    initialized in Security_context::init(), which led to differences
    in behavior with and without debug configure options.
  - if the server failed to load events from mysql.event, it forgot to
    close the mysql.event table, that led to the coredump, described
    in the bug report.

The patch is to fix all these problems:
  - Use the super-user to acquire WRITE-lock on the mysql.even table;
  - The WRITE-lock is acquired by the event scheduler in two cases:
    - on initial loading of events from the database;
    - when an event has been executed, so its attributes should
      be updated.
    Other cases when WRITE-lock is needed for the mysql.event table
    happen under the user account. So, nothing should be changed there
    for the read-only mode. The user is able to create/update/drop
    an event only if he is a super-user.
  - Initialize Security_context::master_access;
  - Close the mysql.event table in case something went wrong.
2007-10-19 19:57:08 +04:00
gkodinov/kgeorge@magare.gmz
c95b24cba7 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31157-5.1-opt
2007-10-19 17:01:13 +03:00
gkodinov/kgeorge@magare.gmz
fb640797b8 Bug #31157: crash when select+order by the avg of some field within the group by
The uncacheable flag should be set at fix_fields() stage.
Fixed by moving the flag setting to match the one in 5.1
2007-10-19 15:43:19 +03:00
malff@lambda.hsd1.co.comcast.net.
94b4f4a870 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge
2007-10-18 19:21:07 -06:00
malff@lambda.hsd1.co.comcast.net.
2d6fbbda59 Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-base
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge
2007-10-18 16:57:51 -06:00
malff@lambda.hsd1.co.comcast.net.
6fa35a5d3b Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge
2007-10-18 16:39:55 -06:00
davi@moksha.com.br
3b44d6e8b9 Merge moksha.com.br:/Users/davi/mysql/bugs/21557-5.1
into  moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
2007-10-18 15:47:22 -03:00
davi@moksha.com.br
dd135211d8 Bug#21557 entries in the general query log truncated at 1000 characters.
The general log write function (general_log_print) uses printf style
arguments which need to be pre-processed, meaning that the all arguments
are copied to a single buffer and the problem is that the buffer size is
constant (1022 characters) but queries can be much larger then this.

The solution is to introduce a new log write function that accepts a
buffer and it's length as arguments. The function is to be used when
a formatted output is not required, which is the case for almost all
query write-to-log calls.

This is a incompatible change with respect to the log format of prepared
statements.
2007-10-18 15:45:07 -03:00
istruewing@stella.local
672290b03d Bug#31692 - binlog_killed.test crashes sometimes
The server crashed when a thread was killed while locking the
general_log table at statement begin.

The general_log table is handled like a performance schema table.
The state of open tables is saved and cleared so that this table
seems to be the only open one. Then this table is opened and locked.
After writing, the table is closed and the open table state is
restored. Before restoring, however, it is asserted that there is
no current table open.

After locking the table, mysql_lock_tables() checks if the thread
was killed in between. If so, it unlocks the table and returns an
error. open_ltable() just returns with the error and leaves closing
of the table to close_thread_tables(), which is called at
statement end.

open_performance_schema_table() did not take this into account.
It assumed that a failed open_ltable() would not leave an open
table behind.

Fixed by closing thread tables after open_ltable() and before
restore_backup_open_tables_state() if the thread was killed.

No test case. It requires correctly timed parallel execution.
Since this bug was detected by the test suite, it seems
dispensable to add another test.
2007-10-18 16:14:27 +02:00
tnurnberg@white.intern.koehntopp.de
30dd4d9fca Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/scratch/tnurnberg/31588/50-31588
2007-10-18 16:09:03 +02:00
gkodinov/kgeorge@magare.gmz
7f8c4aacf6 Merge magare.gmz:/home/kgeorge/mysql/work/B31221-5.0-gca-opt
into  magare.gmz:/home/kgeorge/mysql/work/B31221-5.1-opt
2007-10-18 15:57:59 +03:00
gkodinov/kgeorge@magare.gmz
abdc597b78 Merge magare.gmz:/home/kgeorge/mysql/work/B31221-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B31221-5.0-gca-opt
2007-10-18 15:53:45 +03:00
gkodinov/kgeorge@magare.gmz
976e0ca154 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31221-5.0-opt
2007-10-18 15:32:48 +03:00
gkodinov/kgeorge@magare.gmz
d67cd9e8af Bug #31221: Optimizer incorrectly identifies impossible WHERE clause
No warning was generated when a TIMESTAMP with a non-zero time part
 was converted to a DATE value. This caused index lookup to assume
 that this is a valid conversion and was returning rows that match 
 a comparison between a TIMESTAMP value and a DATE keypart.
 Fixed by generating a warning on such a truncation.
2007-10-18 15:19:04 +03:00
tnurnberg@sin.intern.azundris.com
2a9d32f8eb Merge sin.intern.azundris.com:/misc/mysql/31588/50-31588
into  sin.intern.azundris.com:/misc/mysql/31588/51-31588
2007-10-18 10:55:42 +02:00
tnurnberg@sin.intern.azundris.com
4a48f2b3f4 Merge sin.intern.azundris.com:/misc/mysql/31588/41-31588
into  sin.intern.azundris.com:/misc/mysql/31588/50-31588
2007-10-18 10:51:10 +02:00
tnurnberg@sin.intern.azundris.com
e6ef54b31f Bug#31588: buffer overrun when setting variables
Buffer used when setting variables was not dimensioned to accomodate
trailing '\0'. An overflow by one character was therefore possible.
CS corrects limits to prevent such overflows.
2007-10-18 10:47:54 +02:00
dkatz@damien-katzs-computer.local
86082dfcef Bug #29804 UDF parameters don't contain correct string length
Previously, UDF *_init functions were passed constant strings with erroneous lengths. The length came from the containing variable's size, not the length of the value itself.
    
Now the *_init functions get the constant as a null terminated string with the correct length supplied too.
2007-10-17 17:54:11 -04:00