Commit graph

17698 commits

Author SHA1 Message Date
Georgi Kodinov
ba1b5eb4b5 merged bug 43354 to 5.1-bugteam 2009-03-11 14:29:59 +02:00
Georgi Kodinov
d3d6f4fdad Bug : Use key hint can crash server in explain extended query
The copy of the original arguments of a aggregate function was not
initialized until after fix_fields().
Sometimes (e.g. when there's an error processing the statement)
the print() can be called with no corresponding fix_fields() call.
      
Fixed by adding a check if the Item is fixed before using the arguments
copy.

mysql-test/r/explain.result:
  Bug : test case
mysql-test/t/explain.test:
  Bug : test case
sql/item_sum.cc:
  Bug : use the argument list copy only if it's initialized
2009-03-11 14:10:44 +02:00
Matthias Leich
0614532a92 Merge of fix into actual tree 2009-03-10 18:21:35 +01:00
Matthias Leich
8b055e2444 Merge into actual tree 2009-03-10 16:54:24 +01:00
Tatiana A. Nurnberg
1c4fc84c9e automerge 2009-03-09 15:57:34 +01:00
Tatiana A. Nurnberg
e7afab7245 Bug#40657: assertion with out of range variables and traditional sql_mode
test-fixes for 32-bit

mysql-test/t/variables.test:
  Test for 10351 ("Max_Heap_Table_Size cannot be set to 4 gb")
  now throws a warning on 32-bit, as it should. As we're not
  actually interested in the warning but only in whether the
  variable is set to a correct value afterwards, we disable
  warnings for the duration of that test case so we won't have
  to split the test into a 32-bit and a 64-bit flavour for no
  real reason.
2009-03-09 15:26:53 +01:00
Anurag Shekhar
ec5e3b624c merging with latest changes. 2009-03-09 13:58:48 +05:30
Tatiana A. Nurnberg
cee070e1bb manual merge 2009-03-06 16:11:34 +01:00
Matthias Leich
2417d31045 Merge 5.0 -> 5.1 of fix for Bug#42003 and Bug#43114 2009-03-06 15:56:17 +01:00
Matthias Leich
0183d4d842 Merge of fix for Bug#42003 and Bug#43114 into more actual GCA tree
modifications according to the reviews are included
2009-03-05 14:35:03 +01:00
Davi Arnaut
53802ae6ca Bug#41465: confusing error message when comment is too long
The problem was that the server was trying to use the unknown
error format string (ER_UNKNOWN_ERROR) to print messages about
comments being too long, but the said format string does not
accept arguments and will always default to "Unknown error".

The solution is to introduce new error messages which are
specific to the error conditions so that server wants to
signal -- this also means that it's possible to translate
those messages.

mysql-test/r/strict.result:
  Update test case result.
mysql-test/t/strict.test:
  Update test case with new errors.
sql/share/errmsg.txt:
  Introduce new errors for long comments.
sql/unireg.cc:
  Use new errors.
2009-03-05 08:20:01 -03:00
Kristofer Pettersson
d40b1be906 Automerge 2009-03-06 10:52:43 +01:00
Kristofer Pettersson
ddaede8087 Bug#39843 DELETE requires write access to table in subquery in where clause
An unnecessarily restrictive lock were taken on sub-SELECTs during DELETE.

During parsing, a global structure is reused for sub-SELECTs and the attribute
keeping track of lock options were not reset properly.
This patch introduces a new attribute to keep track on the syntactical lock
option elements found in a sub-SELECT and then sets the lock options accordingly.

Now the sub-SELECTs will try to acquire a READ lock if possible
instead of a WRITE lock as inherited from the outer DELETE statement.


mysql-test/r/lock.result:
  Added test case for bug39843
mysql-test/t/lock.test:
  Added test case for bug39843
sql/sql_lex.cc:
  * Reset member variable lock_option on each new query.
sql/sql_lex.h:
  * Introduced new member variable 'lock_option' which is keeping track
    of the syntactical lock option of a (sub-)select query.
sql/sql_parse.cc:
  * Wrote comments to functions.
sql/sql_yacc.yy:
  * Introduced an attribute to keep track of syntactical lock options
    in sub-selects.
  * Made sure that the default value TL_READ_DEFAULT is at the begining
    of each subselect-rule.
2009-03-05 15:22:33 +01:00
Sergey Glukhov
3ef86918a2 Bug#41030 Wrong meta data (incorrect fieldlen)
set user variable max length on
fix_length_and_dec() stage
using real value length.


mysql-test/r/variables.result:
  test result
mysql-test/t/variables.test:
  test case
sql/item_func.cc:
  set user variable max length on
  fix_length_and_dec() stage
  using real value length.
2009-03-05 15:34:02 +04:00
He Zhenxing
b4fdb8aec1 BUG#37051 Replication rules not evaluated correctly
Backporting patch to 5.0.
2009-03-05 18:10:44 +08:00
Bernt M. Johnsen
cd5c40ecd4 Bug 43258 merged from gca 2009-03-04 15:56:13 +01:00
Bernt M. Johnsen
9f493ea98a bug#43258 prepared for push on 5.1 2009-03-04 13:45:49 +01:00
Dmitry Lenev
161b8d0b2f Fix for bug "skip_name_resolve fails sporadically on
pushbuild".

Under new MTR the server is not restarted for every test, so
threads started in the previous test case can show up in the
results of SHOW PROCESSLIST statement in this test, causing a
test failure.

Since we are not really interested in results of SHOW PROCESSLIST
in this test but rather in fact that server doesn't crash when
executing this statement this fix simply disables output of this
statement.

mysql-test/r/skip_name_resolve.result:
  Disable SHOW PROCESSLIST output to make test immune to threads
  started in previous test cases.
mysql-test/t/skip_name_resolve.test:
  Disable SHOW PROCESSLIST output to make test immune to threads
  started in previous test cases.
2009-03-04 15:33:56 +03:00
Anurag Shekhar
aa13f72b90 Bug#41305 server crashes when inserting duplicate row into a merge table
This problem comes while inserting a duplicate row in merge table 
without key but the child table has a primary key. 
While forming the error message handler tries to locate the key field
which is creating this problem but as there is no key on the merge
table there is a segmentation fault.

mysql-test/r/merge.result:
  Updated results with new test for this bug.
mysql-test/t/merge.test:
  Added new test to test error generated from a key on child table 
  where merge table doesn't have any key.
storage/myisammrg/ha_myisammrg.cc:
  Added a new check to see if the value of error key is higher than 
  the number of key in merge table and if it is the error key set 
  to MAX_KEY. The error message generation routine treats MAX_KEY as 
  unknown key and doesn't tries to access this in key_info.
2009-03-04 14:48:07 +05:30
Matthias Leich
140cc614c9 Last slice of fix for Bug#42003 tests missing the disconnect of connections <> default
+ Fix for Bug#43114 wait_until_count_sessions too restrictive, random PB failures
+ Removal of a lot of other weaknesses found
+ modifications according to review
2009-03-03 21:34:18 +01:00
Bernt M. Johnsen
82c21e46f6 Merged from gca branch (bug 42711) 2009-03-02 14:26:57 +01:00
Bernt M. Johnsen
f61230131b Merged from gca branch (bug 42711) 2009-03-02 14:03:01 +01:00
Bernt M. Johnsen
f5d1109c11 Prepared BUG#42711 for push on 5.1 2009-03-02 11:22:38 +01:00
Bernt M. Johnsen
ef165e36d9 Prepared BUG#42711 for push 2009-03-02 11:03:13 +01:00
Tatiana A. Nurnberg
fe09326edf automerge 2009-02-27 21:43:43 +01:00
Georgi Kodinov
2bc070a05a merged the fix for bug 41610 to 5.1-bugteam 2009-02-27 17:07:27 +02:00
Georgi Kodinov
15760fe9d8 Bug : key_infix_len can be overwritten causing some group by queries to
return no rows

The algorithm of determining the best key for loose index scan is doing a loop
over the available indexes and selects the one that has the best cost.
It retrieves the parameters of the current index into a set of variables.
If the cost of using the current index is lower than the best cost so far it 
copies these variables into another set of variables that contain the 
information for the best index so far.
After having checked all the indexes it uses these variables (outside of the 
index loop) to create the table read plan object instance.
The was a single omission : the key_infix/key_infix_len variables were used 
outside of the loop without being preserved in the loop for the best index 
so far.
This causes these variables to get overwritten by the next index(es) checked.
Fixed by adding variables to hold the data for the current index, passing 
the new variables to the function that assigns values to them and copying 
the new variables into the existing ones when selecting a new current best 
index.
To avoid further such problems moved the declarations of the variables used 
to keep information about the current index inside the loop's compound 
statement.

mysql-test/r/group_min_max.result:
  Bug : test case
mysql-test/t/group_min_max.test:
  Bug : test case
sql/opt_range.cc:
  Bug : copy the infix data for the current best index
2009-02-27 15:25:06 +02:00
Patrick Crews
1dc084f358 merge. 2009-02-27 10:45:19 +02:00
Patrick Crews
897ea3744a merge 2009-02-27 10:43:06 +02:00
Patrick Crews
1f847d1604 Bug#41893: main.variables mysql-test fails in new variable like '%alloc%' is added.
Added ORDER BY clause to I_S query to ensure consistent order.
There were differences between 5.1 and 6.0 output.  Correcting it 5.1.
2009-02-27 10:24:57 +02:00
Patrick Crews
8726343624 Merge 5.0->5.1 2009-02-27 09:47:29 +02:00
Georgi Kodinov
ee77216803 addendum to the fix for bug : fixed the error returned by SELECT * 2009-02-27 09:41:39 +02:00
Bernt M. Johnsen
4ea27a3cdf Merged from gca-branch (bug 42567) 2009-02-26 19:21:51 +01:00
Georgi Kodinov
f3c6ff1f7a null-merged the fix and kept the test for bug from 5.0-bugteam 2009-02-26 19:20:50 +02:00
Bernt M. Johnsen
2cca1991bd Prepared for push (BUG#42567) 2009-02-26 18:17:06 +01:00
Georgi Kodinov
a9d707037a Bug : Access control is bypassed when all columns
of a view are selected by * wildcard

Backported a part of the fix for 36086 to 5.0

mysql-test/r/view_grant.result:
  Bug : test case
mysql-test/t/view_grant.test:
  Bug : test case
sql/sql_acl.cc:
  Bug : return table error when no access and *
sql/sql_base.cc:
  Bug : backported the check in bug 36086 to 5.0
2009-02-26 19:00:44 +02:00
Patrick Crews
afdf8a447f Bug#41893 - main.variables mysql-test fails if new variable like '%alloc%' is added.
Fixed a typo in the bug fix patch.
2009-02-26 18:00:47 +02:00
Patrick Crews
6877425f2f Bug#41893: main.variables mysql-test fails if new variable like '%alloc%' is added.
Started fix in 5.0 as the same issue is here.
Revising queries used given what appears to be the scope of this test to only select the manipulated variables.
Added tests for values that are / are not multiples of 1024 to test rounding / constraints.
This behavior is not currently documented (docs bug has been opened)
2009-02-26 10:57:33 +02:00
Bernt M. Johnsen
00ac598a44 Prepared for push (BUG#43110) 2009-02-25 16:53:49 +01:00
Bernt M. Johnsen
b19b8afe6c Merged from gca-branch (bug 43111) 2009-02-25 14:52:33 +01:00
Bernt M. Johnsen
a357073774 Merged from gca-branch (bug 43111) 2009-02-25 14:49:59 +01:00
Bernt M. Johnsen
b253edff98 Merged from 5.0
bug#43111
2009-02-25 12:47:28 +01:00
Bernt M. Johnsen
5a6fa28226 Prepare for push of BUG#43111 2009-02-25 11:37:30 +01:00
Georgi Kodinov
620438fdae backport the fix for bug to 5.1-bugteam 2009-02-25 12:19:29 +02:00
Georgi Kodinov
dc69c3439f merged bug 31060 to 5.1-bugteam 2009-02-25 11:09:41 +02:00
Andrei Elkin
5b0721786e merging bug#37313fixes from 5.0-bt to 5.1-bt 2009-02-24 16:59:46 +02:00
Andrei Elkin
a6ac350b3a merging from 5.0-bt rep to a local branch 2009-02-24 16:35:45 +02:00
Andrei Elkin
d091deaf89 fixing compilation warning and adding flush logs to test of bug#37313 2009-02-24 16:17:34 +02:00
Georgi Kodinov
4b05db5cfd Bug : MySQL CLI parser bug 2
There was a problem when a DELIMITER COMMAND is not the first 
command on the line. I this case an extra line feed was added
to the glob buffer and this was causing subsequent attempts 
to enter this delimiter to fail.
Fixed by not adding a new line to the glob buffer if the 
command being added is a DELIMITER

client/mysql.cc:
  Bug : Don't add a new line if DELIMTER is added to
  the glob buffer
mysql-test/r/mysql.result:
  Bug : test case
mysql-test/t/mysql.test:
  Bug : test case
2009-02-24 15:06:28 +02:00
Georgi Kodinov
85ea3740ff Bug : MySQL CLI parser bug 2
There was a problem when a DELIMITER COMMAND is not the first 
command on the line. I this case an extra line feed was added
to the glob buffer and this was causing subsequent attempts 
to enter this delimiter to fail.
Fixed by not adding a new line to the glob buffer if the 
command being added is a DELIMITER

client/mysql.cc:
  Bug : Don't add a new line if DELIMTER is added to
  the glob buffer
mysql-test/r/mysql.result:
  Bug : test case
mysql-test/t/mysql.test:
  Bug : test case
2009-02-24 15:06:28 +02:00