Commit graph

58847 commits

Author SHA1 Message Date
Sergey Glukhov
58b7761ed8 Bug#41049 does syntax "grant" case insensitive?
Problem 1:
column_priv_hash uses utf8_general_ci collation
for the key comparison. The key consists of user name,
db name and table name. Thus user with privileges on table t1
is able to perform the same operation on T1
(the similar situation with user name & db name, see acl_cache).
So collation which is used for column_priv_hash and acl_cache
should be case sensitive.
The fix:
replace system_charset_info with my_charset_utf8_bin for
column_priv_hash and acl_cache
Problem 2:
The same situation with proc_priv_hash, func_priv_hash,
the only difference is that Routine name is case insensitive.
So the fix is to use my_charset_utf8_bin for
proc_priv_hash & func_priv_hash and convert routine name into lower
case before writing the element into the hash and
before looking up the key.
Additional fix: mysql.procs_priv Routine_name field collation
is changed to utf8_general_ci.
It's necessary for REVOKE command
(to find a field by routine hash element values).
Note: 
It's safe for lower-case-table-names mode too because
db name & table name are converted into lower case
(see GRANT_NAME::GRANT_NAME).
2009-10-27 12:09:19 +04:00
karen.langford@sun.com
8f27f46c1a Merge from mysql-5.0.87-release 2009-10-26 19:20:02 +01:00
Georgi Kodinov
0ce16dbf6d rpl_cross_version made experimental because of bug #43913 2009-10-26 14:33:03 +02:00
Georgi Kodinov
9db41de042 automerge 2009-10-24 09:57:31 +03:00
Ramil Kalimullin
dd1719397e Auto-merge. 2009-10-23 23:37:57 +05:00
Jon Olav Hauglid
2397923da3 automerge 2009-10-23 16:35:06 +02:00
Georgi Kodinov
fd465c2b57 Revert the fix for bug #47627 as it's causing the regression tests in pb2 to
fail.
2009-10-23 16:54:58 +03:00
Jon Olav Hauglid
111da3a4c0 Bug #47919 assert in open_table during ALTER temporary table
This assertion would occur if UPDATE was used to update multiple
tables containing an AUTO_INCREMENT column and if the inserted
row had a user-supplied value for that column. The assertion 
could then be triggered by the next statement.

The problem was only noticeable on debug builds of the server.

The cause of the problem was that the code for multi update did
not properly reset the TABLE->auto_increment_if_null flag after update.
The flag is used to indicate that a non-null value of an auto_increment field
has been provided by the user or retrieved from a current record.
Open_tables() contains an assertion that tests this flag, and this
was triggered in this case by ALTER TABLE.

This patch fixes the problem by resetting the auto_increment_if_null
field to FALSE once a row has been updated.

This bug is similar to Bug#47274, but for multi update rather
than INSERT DELAYED.

Test case added to update.test.
2009-10-23 15:09:14 +02:00
Georgi Kodinov
cf6359403c merged 5.1-main-> 5.1-bugteam 2009-10-23 15:12:26 +03:00
Ramil Kalimullin
24885e815f Fix for bug#48258: Assertion failed when using a spatial index
Problem: involving a spatial index for "non-spatial" queries
(that don't containt MBRXXX() functions) may lead to failed assert.

Fix: don't use spatial indexes in such cases.
2009-10-23 16:26:48 +05:00
1fb18b5d4c Bug#46640: output from mysqlbinlog command in 5.1 breaks replication
Added parentheses around assignment used as truth value for suppressing warnings.
2009-10-23 11:13:42 +08:00
Luis Soares
8a60aa18b6 BUG#34582: mysql-5.1-bugteam-bug-branch --> mysql-5.1-bugteam-latest
(automerge)
2009-10-23 01:03:41 +01:00
Alexander Nozdrin
d0a10357bb Automerge from mysql-trunk. 2009-10-23 00:24:24 +04:00
Alexander Nozdrin
4b8eb9891c Fix default.conf. 2009-10-23 00:13:18 +04:00
Alexander Nozdrin
dac879a413 Automerge from mysql-trunk. 2009-10-22 22:05:42 +04:00
Jonathan Perkin
1516f6d34f Apply missing patch from bug#46834 to mysql-trunk-bugfixing. 2009-10-22 16:48:52 +01:00
Alfranio Correia
9eb7374c57 Post-fix for BUG#47287.
The label "end" was causing compiler warnings as it was no longer used.
To fix the problem we removed it.
2009-10-22 11:18:28 +01:00
Ramil Kalimullin
51ff23f0f0 Autopush 2009-10-22 14:40:15 +05:00
Bjorn Munch
8aee8bd2c7 null merge from 5.1 2009-10-22 09:28:39 +02:00
Bjorn Munch
6756d64b81 new merge from trunk 2009-10-22 09:13:44 +02:00
Alexander Nozdrin
8d953ecef1 Pass --vardir to MTR in mysql-trunk.push. 2009-10-22 10:05:53 +04:00
Alexander Nozdrin
c0718f032b Disable the test in mysql-trunk because of Bug#46931
instead of making it experimental.
2009-10-22 10:01:23 +04:00
Ramil Kalimullin
256e3ec03b Fix for bug#47019: Assertion failed: 0, file .\rt_mbr.c,
line 138 when forcing a spatial index

Problem: "Spatial indexes can be involved in the search 
for queries that use a function such as MBRContains() 
or MBRWithin() in the WHERE clause".
Using spatial indexes for JOINs with =, <=> etc.
predicates is incorrect.

Fix: disable spatial indexes for such queries.
2009-10-21 14:04:08 +05:00
Georgi Kodinov
dd02c4a12b Bug #47780: crash when comparing GIS items from subquery
If the first argument to GeomFromWKB function is a geometry
field then the function just returns its value.
However in doing so it's not preserving first argument's 
null_value flag and this causes unexpected null value to
be returned to the calling function.
      
Fixed by updating the null_value of the GeomFromWKB function
in such cases (and all other cases that return a NULL e.g.
because of not enough memory for the return buffer).
2009-10-21 11:43:45 +03:00
Bjorn Munch
c7a02cf807 merge from 5.1-mtr 2009-10-21 09:33:07 +02:00
Tatiana A. Nurnberg
6af83cbc31 auto-merge 2009-10-20 20:38:56 -07:00
Tatiana A. Nurnberg
0329184cf3 auto-merge 2009-10-20 20:37:33 -07:00
Alexander Nozdrin
9787943c5e Mark rpl.rpl_innodb_bug28430 experimental unconditionally. 2009-10-21 00:26:56 +04:00
Tatiana A. Nurnberg
cf7e2e1db4 manual merge of 28141 2009-10-20 11:00:07 -07:00
Satya B
0ddb2ca740 Fix the windows Build failure due to the changes to CMakelists by r2910.
Remove the extra line which try to use the name INNOBASE again. The IF ELSE
loop above declares the library name based on the version of mysql
2009-10-20 16:11:50 +05:30
Georgi Kodinov
90d32d8bc8 Bug #47320: OpenSSL client does not check YaSSL server certificate
Removed the verify callback, as it's not needed to verify even self
signed certificates and is a security problem.
2009-10-20 13:09:16 +03:00
Bjorn Munch
684b1d39ac merge 48149 2009-10-20 12:05:28 +02:00
Bjorn Munch
e00d636494 merge 48149 2009-10-20 12:04:55 +02:00
Satya B
bca54639b6 Merge a CMakeLists.txt change from Innodb plugin 1.0.5 2009-10-20 15:12:38 +05:30
Luis Soares
454a0c0d20 BUG#34582: FLUSH LOGS does not close and reopen the binlog index
file
      
Issuing 'FLUSH LOGS' does not close and reopen indexfile.
Instead a SEEK_SET is performed.
      
This patch makes index file to be closed and reopened whenever a
rotation happens (FLUSH LOGS is issued or binary log exceeds 
maximum configured size).
2009-10-20 09:39:40 +01:00
Alexander Barkov
34bbae5725 A post fix for BUG#45645 Mysql server close all connection and restart using lower function
- Initialized caseinfo only if it is NULL
2009-10-20 12:47:00 +05:00
Kristofer Pettersson
e131edc9d4 Automerge 2009-10-20 09:00:01 +02:00
Satya B
eac1d0d891 merge mysql-5.0-bugteam to mysql-5.1-bugteam 2009-10-20 12:25:01 +05:30
Satya B
607abec50a merge to mysql-5.0-bugteam 2009-10-20 12:21:58 +05:30
Satya B
ae27af00e7 merge mysql-5.0-bugteam to mysql-5.1-bugteam 2009-10-20 12:07:58 +05:30
Kristofer Pettersson
b1647d178b automerge 2009-10-20 08:21:35 +02:00
Satya B
b2cd0a0f15 Fix for Bug #41597 - After rename of user, there are additional grants when
grants are reapplied.


After renaming a user and trying to re-apply grants results in additional
grants.

This is because we use username as part of the key for GRANT_TABLE structure.
When the user is renamed, we only change the username stored and the hash key
still contains the old user name and this results in the extra privileges

Fixed by rebuilding the hash key and updating the column_priv_hash structure
when the user is renamed
2009-10-20 11:47:57 +05:30
Sergey Vojtovich
22af666d63 Merge 5.1-bugteam -> 5.1-bugteam-local. 2009-10-20 10:43:57 +05:00
Sergey Vojtovich
60265fa23c Merge 5.1-bugteam -> 5.1-bugteam-local. 2009-10-20 10:40:47 +05:00
a0791a4183 Bug #34777 mysqlbinlog: --help output for --base64-output is hard to understand
There are some problems about help text:
- It is stated that "auto" is the default twice. It need be stated only once.
- It is stated that --base64-output is short for --base64-output=always. But that sounds
like the default is "always", not "auto".

Make the help text clear as following:
Determine when the output statements should be base64-encoded BINLOG 
statements: 'never' disables it and works only for binlogs without 
row-based events; 'auto' prints base64 only when necessary (i.e., 
for row-based events and format description events); 'always' prints 
base64 whenever possible. 'always' is for debugging only and should 
not be used in a production system. If this argument is not given, 
the default is 'auto'; if it is given with no argument, 'always' is used.
2009-10-20 13:16:09 +08:00
Tatiana A. Nurnberg
3f42e4bd24 Bug#28141: Control C on query waiting on lock causes ERROR 1053 (server shutdown)
If a thread is killed in the server, we throw "shutdown" only if one is actually in
progress; otherwise, we throw "query interrupted".

Control-C in the mysql command-line client is "incremental" now.
First Control-C sends KILL QUERY (when connected to 5.0+ server, otherwise, see next)
Next  Control-C sends KILL CONNECTION
Next  Control-C aborts client.

As the first two steps only pertain to an existing query,
Control-C will abort the client right away if no query is running.

client will give more detailed/consistent feedback on Control-C now.
2009-10-19 21:42:10 -07:00
Alexander Nozdrin
01a9db0621 Automerge from mysql-trunk. 2009-10-19 22:40:08 +04:00
Georgi Kodinov
db944fda03 Bug #47788: Crash in TABLE_LIST::hide_view_error on
UPDATE + VIEW + SP + MERGE + ALTER

When cleaning up the stored procedure's internal 
structures the flag to ignore the errors for 
INSERT/UPDATE IGNORE was not cleaned up.
As a result error ignoring was on during name 
resolution. And this is an abnormal situation : the
SELECT_LEX flag can be on only during query execution.

Fixed by correctly cleaning up the SELECT_LEX flag 
when reusing the SELECT_LEX in a second execution.
2009-10-19 16:55:04 +03:00
Georgi Kodinov
a17fb97b9b Bug #47412: Valgrind warnings / user can read uninitalized memory using
SP variables

A function call may end without throwing an error or without setting 
the return value. This can happen when e.g. an error occurs while 
calculating the return value.

Fixed by setting the value to NULL when error occurs during evaluation
of an expression.
2009-10-26 11:55:57 +02:00
Bjorn Munch
23ef842e03 Bug #48149 MTR should automatically skip SSL tests if SSL not supported
Knowledge of no SSL support is not used
Skip tests the same way e.g. innodb tests are
Does not refer to have_ssl_communication.inc, 
     will add this when merging to 6.0-codebase
2009-10-19 15:51:47 +02:00