Commit graph

40409 commits

Author SHA1 Message Date
Georgi Kodinov
a7f6326631 merge 2010-02-26 15:10:25 +02:00
Christopher Powers
48c861fb9f Bug #48739 MySQL crashes on specific INTERVAL in select query
Fixed crash caused by x64 int/long incompatibility introduced
in Bug #29125.
2010-02-25 09:49:09 -06:00
Georgi Kodinov
b5ae1327f7 Backport of the fix for bug #49552 to 5.0-bugteam 2010-02-25 16:57:15 +02:00
sunanda.menon@sun.com
7ecb6199ca Null-merge from mysql-5.0.87sp1-release 2010-02-20 18:08:35 +01:00
Tatiana A. Nurnberg
3678457d3c Bug#49487: crash with explain extended and group_concat in a derived table
When EXPLAIN EXTENDED tries to print column names, it checks whether the
referenced table is CONST (in which case, the column's value rather than
its name will be printed). If no proper table is reference (i.e. because
a derived table was used that has since gone out of scope), this will fail
spectacularly.

This ports an equivalent of the fix for Bug 43354.
2010-02-19 15:16:43 +00:00
Joerg Bruehe
488a69b64e Automerge from central branch. 2010-02-12 18:35:27 +01:00
Joerg Bruehe
15728d0721 Bug#50950 Obsolete reference to www.mysql.com
in message printed at end of configure

New text for the success message of "configure".
2010-02-08 21:10:37 +01:00
Georgi Kodinov
21dbe024cd tree name change 2010-02-04 12:13:29 +02:00
MySQL Build Team
d3c1751899 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2840 [merge]
> revision-id: ramil@mysql.com-20100113101142-pda4phrsyh1rjp85
> parent: joerg@mysql.com-20100112114118-zfpofgcu0j49j839
> parent: ramil@mysql.com-20100113052045-een35iazzk8023w2
> committer: Ramil Kalimullin <ramil@mysql.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Wed 2010-01-13 14:11:42 +0400
> message:
>   Auto-merge.
> ------------------------------------------------------------
> Use --include-merges or -n0 to see merged revisions.
2010-02-03 16:43:18 +01:00
MySQL Build Team
cab2b49617 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.48
> revision-id: joro@sun.com-20091210092838-zbz9ugqay1tn7rxm
> parent: joro@sun.com-20091207143856-ojmmqr0bm1haxvca
> committer: Georgi Kodinov <joro@sun.com>
> branch nick: B49250-5.0-bugteaam
> timestamp: Thu 2009-12-10 11:28:38 +0200
> message:
>   Bug #49250 : spatial btree index corruption and crash
>   
>   SPATIAL and FULLTEXT indexes don't support algorithm
>   selection. 
>   Disabled by creating a special grammar rule for these
>   in the parser.
>   Added some encasulation of duplicate parser code.
2010-02-03 16:42:25 +01:00
MySQL Build Team
7da5dc14d9 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.41 [merge]
> revision-id: epotemkin@mysql.com-20091203132153-k8xwk3nh02n8npg4
> parent: epotemkin@mysql.com-20091202134712-4muwnr152xqkcwm7
> parent: epotemkin@mysql.com-20091203131520-93uiop1a81o9z8mb
> committer: Evgeny Potemkin <epotemkin@mysql.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Thu 2009-12-03 16:21:53 +0300
> message:
>   Auto-merged.
> ------------------------------------------------------------
> Use --include-merges or -n0 to see merged revisions.
2010-02-03 16:41:24 +01:00
MySQL Build Team
cb6780d296 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.40 [merge]
> revision-id: epotemkin@mysql.com-20091202134712-4muwnr152xqkcwm7
> parent: gshchepa@mysql.com-20091201102444-yw166t3audrojo9s
> parent: epotemkin@mysql.com-20091201182845-aw0uawt6c6gwi98c
> committer: Evgeny Potemkin <epotemkin@mysql.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Wed 2009-12-02 16:47:12 +0300
> message:
>   Auto-merged fix for the bug#48508.
> ------------------------------------------------------------
> Use --include-merges or -n0 to see merged revisions.
2010-02-03 16:40:24 +01:00
MySQL Build Team
5c04b4374d Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.39
> revision-id: gshchepa@mysql.com-20091201102444-yw166t3audrojo9s
> parent: joro@sun.com-20091127160731-6h2fahbh4409i841
> committer: Gleb Shchepa <gshchepa@mysql.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Tue 2009-12-01 14:24:44 +0400
> message:
>   Bug #38883 (reopened): thd_security_context is not thread safe, crashes?
>   
>   The bug 38816 changed the lock that protects THD::query from
>   LOCK_thread_count to LOCK_thd_data, but didn't update the associated
>   InnoDB functions.
>   
>   1. The innobase_mysql_prepare_print_arbitrary_thd and the
>   innobase_mysql_end_print_arbitrary_thd InnoDB functions have been
>   removed, since now we have a per-thread mutex: now we don't need to wrap
>   several inter-thread access tries to THD::query with a single global
>   LOCK_thread_count lock, so we can simplify the code.
>   
>   2. The innobase_mysql_print_thd function has been modified to lock
>   LOCK_thd_data in direct way.
2010-02-03 16:38:46 +01:00
MySQL Build Team
18332268c2 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.38
> revision-id: joro@sun.com-20091127160731-6h2fahbh4409i841
> parent: joro@sun.com-20091127143622-bqfsmhhr2pqodsm2
> committer: Georgi Kodinov <joro@sun.com>
> branch nick: fix-5.0-bugteam
> timestamp: Fri 2009-11-27 18:07:31 +0200
> message:
>   Addendum to bug #48872: disable output in the test case because errors are 
>   dependent on the case mode
2010-02-03 16:37:47 +01:00
MySQL Build Team
d3ecc66c58 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.35
> revision-id: joro@sun.com-20091127095944-autr58itccge4z9l
> parent: satya.bn@sun.com-20091125095925-871384fcnwwa2yqt
> committer: Georgi Kodinov <joro@sun.com>
> branch nick: B48872-5.0-bugteam
> timestamp: Fri 2009-11-27 11:59:44 +0200
> message:
>   Bug #48872 : Privileges for stored functions ignored if function name
>     is mixed case
>   
>   Transcode the procedure name to lowercase when searching for it in the 
>   hash. This is the missing part of the fix for bug #41049.
2010-02-03 16:36:20 +01:00
MySQL Build Team
f5feec0d98 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.29
> revision-id: joro@sun.com-20091118152410-j4tv22vf9xkb6sdz
> parent: kent.boortz@sun.com-20091117164924-rscth12t9a2qog1b
> committer: Georgi Kodinov <joro@sun.com>
> branch nick: test-5.0-bugteam
> timestamp: Wed 2009-11-18 17:24:10 +0200
> message:
>   Bug#48864: MySQL fails to compile on 64 bit Fedora 12
>   
>   Fixed 2 errors in comp_err executable : 
>   1. Wrong (off by 1) length passed to my_checksum()
>   2. strmov() was used on overlapping strings. This is
>    not legal according to the docs in stpcpy(). Used 
>   the overlap safe memmove() instead.
2010-02-03 16:34:46 +01:00
MySQL Build Team
90582e5e4e Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.26
> revision-id: joro@sun.com-20091109140946-07wao5od7l1vn4x1
> parent: joro@sun.com-20091110082141-ldr8p6s1joczve2j
> committer: Georgi Kodinov <joro@sun.com>
> branch nick: B48458-5.0-bugteam
> timestamp: Mon 2009-11-09 16:09:46 +0200
> message:
>   Bug #48458: simple query tries to allocate enormous amount of
>     memory
>   
>   The server was doing a bad class typecast causing setting of 
>   wrong value for the maximum number of items in an internal
>   structure used in equality propagation.
>   Fixed by not doing the wrong typecast and asserting the type
>   of the Item where it should be done.
2010-02-03 16:33:14 +01:00
MySQL Build Team
3ee3ee7092 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.19
> revision-id: kostja@sun.com-20091103165854-7di545xruez8w207
> parent: li-bing.song@sun.com-20091103090041-zj7nedx6ok5jgges
> committer: Konstantin Osipov <kostja@sun.com>
> branch nick: 5.0-41756
> timestamp: Tue 2009-11-03 19:58:54 +0300
> message:
>   A fix and a test case for
>   Bug#41756 "Strange error messages about locks from InnoDB".
>   
>   In JT_EQ_REF (join_read_key()) access method,
>   don't try to unlock rows in the handler, unless certain that
>   a) they were locked
>   b) they are not used.
>   
>   Unlocking of rows is done by the logic of the nested join loop,
>   and is unaware of the possible caching that the access method may
>   have. This could lead to double unlocking, when a row
>   was unlocked first after reading into the cache, and then
>   when taken from cache, as well as to unlocking of rows which
>   were actually used (but taken from cache).
>   
>   Delegate part of the unlocking logic to the access method,
>   and in JT_EQ_REF count how many times a record was actually
>   used in the join. Unlock it only if it's usage count is 0.
>   
>   Implemented review comments.
2010-02-03 16:32:15 +01:00
MySQL Build Team
147f533532 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.18
> revision-id: li-bing.song@sun.com-20091103090041-zj7nedx6ok5jgges
> parent: davi.arnaut@sun.com-20091102201021-1brn7cjb1kvqg9gr
> committer: <Li-Bing.Song@sun.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Tue 2009-11-03 17:00:41 +0800
> message:
>   BUG#48216 Replication fails on all slaves after upgrade to 5.0.86 on master
>   
>   When a sessione is closed, all temporary tables of the session are automatically 
>   dropped and are binlogged. But it will be binlogged with wrong database names when
>   the length of the temporary tables' database names are greater than the 
>   length of the current database name or the current database is not set.
>   
>   Query_log_event's db_len is forgot to set when Query_log_event's db is set.
>   This patch wrote code to set db_len immediately after db has set.
2010-02-03 16:31:14 +01:00
MySQL Build Team
9316441203 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.4.1
> revision-id: alexey.kopytov@sun.com-20091030155453-0vlfwki805h9os62
> parent: joerg@mysql.com-20091016122941-rf6z0keqvmlgjfto
> committer: Alexey Kopytov <Alexey.Kopytov@Sun.com>
> branch nick: my50-bug48131
> timestamp: Fri 2009-10-30 18:54:53 +0300
> message:
>   Bug #48131: crash group by with rollup, distinct, filesort,
>               with temporary tables
>   
>   There were two problems the test case from this bug was
>   triggering:
>   
>   1. JOIN::rollup_init() was supposed to wrap all constant Items
>   into another object for queries with the WITH ROLLUP modifier
>   to ensure they are never considered as constants and therefore
>   are written into temporary tables if the optimizer chooses to
>   employ them for DISTINCT/GROUP BY handling.
>   
>   However, JOIN::rollup_init() was called before
>   make_join_statistics(), so Items corresponding to fields in
>   const tables could not be handled as intended, which was
>   causing all kinds of problems later in the query execution. In
>   particular, create_tmp_table() assumed all constant items
>   except "hidden" ones to be removed earlier by remove_const()
>   which led to improperly initialized Field objects for the
>   temporary table being created. This is what was causing crashes
>   and valgrind errors in storage engines.
>   
>   2. Even when the above problem had been fixed, the query from
>   the test case produced incorrect results due to some
>   DISTINCT/GROUP BY optimizations being performed by the
>   optimizer that are inapplicable in the WITH ROLLUP case.
>   
>   Fixed by disabling inapplicable DISTINCT/GROUP BY optimizations
>   when the WITH ROLLUP modifier is present, and splitting the
>   const-wrapping part of JOIN::rollup_init() into a separate
>   method which is now invoked after make_join_statistics() when
>   the const tables are already known.
2010-02-03 16:29:49 +01:00
MySQL Build Team
1083c85294 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.13
> revision-id: joro@sun.com-20091030131543-2b23fnqckgbzvete
> parent: joro@sun.com-20091030094044-quadg0bwjy7cwqzw
> committer: Georgi Kodinov <joro@sun.com>
> branch nick: B48291-5.0-bugteam
> timestamp: Fri 2009-10-30 15:15:43 +0200
> message:
>   Bug #48291 : crash with row() operator,select into @var, and 
>     subquery returning multiple rows
>   
>   Error handling was missing when handling subqueires in WHERE 
>   and when assigning a SELECT result to a @variable.
>   This caused crash(es). 
>   
>   Fixed by adding error handling code to both the WHERE 
>   condition evaluation and to assignment to an @variable.
2010-02-03 16:28:51 +01:00
MySQL Build Team
98b429c671 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.12
> revision-id: joro@sun.com-20091030094044-quadg0bwjy7cwqzw
> parent: joro@sun.com-20091029152429-ks55fhrp4lhknyij
> committer: Georgi Kodinov <joro@sun.com>
> branch nick: B48293-5.0-bugteam
> timestamp: Fri 2009-10-30 11:40:44 +0200
> message:
>   Bug #48293: crash with procedure analyse, view with > 10 columns,
>   having clause...
>   
>   The fix for bug 46184 was not very complete. It was not covering
>   views using temporary tables and multiple tables in a FROM clause.
>   Fixed by reverting the fix for 46184 and making a more general
>   check that is checking at the right execution stage and for all
>   of the non-supported cases.
>   Now PROCEDURE ANALYZE on non-top level SELECT is also forbidden.
>   Updated the analyse.test and subselect.test accordingly.
2010-02-03 16:27:27 +01:00
MySQL Build Team
0c4a2e9ca0 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.6
> revision-id: joro@sun.com-20091021084345-iki6z0uceieoupey
> parent: ramil@mysql.com-20091023112648-gie6o3odj57cxh1e
> committer: Georgi Kodinov <joro@sun.com>
> branch nick: B47780-5.0-bugteam
> timestamp: Wed 2009-10-21 11:43:45 +0300
> message:
>   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).
2010-02-03 16:26:24 +01:00
MySQL Build Team
a0336e90dc Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.5
> revision-id: ramil@mysql.com-20091023112648-gie6o3odj57cxh1e
> parent: ramil@mysql.com-20091021090408-208mvwwrcroi2j8c
> committer: Ramil Kalimullin <ramil@mysql.com>
> branch nick: b48258-5.0-bugteam
> timestamp: Fri 2009-10-23 16:26:48 +0500
> message:
>   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.
2010-02-03 16:25:25 +01:00
MySQL Build Team
f448c14b83 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.4
> revision-id: ramil@mysql.com-20091021090408-208mvwwrcroi2j8c
> parent: azundris@mysql.com-20091021033856-ydodp4q42o58e7ka
> committer: Ramil Kalimullin <ramil@mysql.com>
> branch nick: b47019-5.0-bugteam
> timestamp: Wed 2009-10-21 14:04:08 +0500
> message:
>   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.
2010-02-03 16:23:26 +01:00
Georgi Kodinov
4600c79d34 merge 2010-02-03 17:05:06 +02:00
Joerg Bruehe
c41646d2a5 Cleanup in the RPM spec file:
Get rid of trailing blanks.
2010-02-02 17:53:52 +01:00
Joerg Bruehe
26656115af Spec file for "generic" RPMs:
Cleanup, formatting improvements,
vendor is Sun (since MySQL AB was bought).

Backport the change so that RPM doesn't magically
create a dependency on "Perl-DBI".
2010-02-02 16:28:59 +01:00
sunanda.menon@sun.com
31bd845f42 Set version number for mysql-5.0.87sp1 release 2010-02-02 13:09:05 +01:00
Georgi Kodinov
7d9209680b fixed a typo in bug #49897. 2010-02-01 13:40:16 +02:00
Georgi Kodinov
8dd687c627 Bug #50642 : ssl certs in test suite are expiring soon.
Updated the certs to expire on 2015. 
Made sure they work with both yassl and openssl.
2010-01-29 15:55:46 +02:00
Ramil Kalimullin
221cdc4084 Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL
column is used for ORDER BY

Problem: filesort isn't meant for null length sort data
(e.g. char(0)), that leads to a server crash.

Fix: disregard sort order if sort data record length is 0 (nothing
to sort).
2010-01-29 13:17:57 +04:00
Bjorn Munch
6e351da89b Bug #49210 Enable MTR timeout configuration through environment variables
Define env. vars for both timeout settings
  This patch is for 5.0 (mtr v1) and should replaces for 5.1 up
2010-01-27 15:21:41 +01:00
Staale Smedseng
e3dd88c856 Bug#50409 Solaris 8 compatibility broken by assumption about
printstack() being present

When Bug#47391 was fixed, no assumption was made that support
for Solaris 8 was needed. Solaris 8 lacks printstack(), and 
the build breaks because of this.

This patch adds a test for the presence of printstack() to
configure.in for 5.0, and uses HAVE_PRINTSTACK to make
decisions rather than the __sun define.
2010-01-27 11:38:50 +01:00
sunanda.menon@sun.com
dede1549d6 Raise version number after cloning 5.0.90 2010-01-15 10:35:35 +01:00
Georgi Kodinov
c00701a48c version change 2010-01-14 10:24:02 +02:00
Ramil Kalimullin
14afe5c4ce Auto-merge. 2010-01-13 14:11:42 +04:00
Ramil Kalimullin
5622b586d9 Fix for bug#50227: Pre-auth buffer-overflow in mySQL through yaSSL
Problem: copying issuer's (or subject's) name tags into an internal
buffer from incoming stream we didn't check the buffer overflow. 
That may lead to memory overrun, crash etc.

Fix: ensure we don't overrun the buffer.

Note: there's no simple test case (exploit needed).
2010-01-13 09:20:45 +04:00
Joerg Bruehe
789352e87b Implement the change of RPM versioning and file naming:
- "release" starts from 1
- "level" ("m2", "rc", ...) is included in the RPM version.
2010-01-12 12:41:18 +01:00
Joerg Bruehe
685166a5e1 Merge from main tree,
but don't take the "tree name" change.
2010-01-12 12:12:42 +01:00
Gleb Shchepa
94acd48041 Bug #49955: ld error message: undefined reference to `strmov_overlapp'
32bit builds with the --enable-assembler flag (enabled by default)
fail with an error message: undefined reference to `strmov_overlapp'.

Since the fix for bug 48866 we use a home-grown strmov function
instead of the ctpcpy function, but the source file for this
function was missed in the Makefile.am.

The strings/Makefile.am file has been modified to include strmov.c
file into ASSEMBLER_x86 and ASSEMBLER_sparc32 sections.
2010-01-11 18:21:22 +04:00
fd931d7bf7 Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE
Fixed valgrind failure on PB2.
2010-01-06 13:12:40 +08:00
cae9c79772 Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE
Fixed valgrind failure on PB2.
2010-01-06 10:36:29 +08:00
ccc3a46856 Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE
In statement-based or mixed-mode replication, use DROP TEMPORARY TABLE
to drop multiple tables causes different errors on master and slave, 
when one or more of these tables do not exist. Because when executed
on slave, it would automatically add IF EXISTS to the query to ignore
all ER_BAD_TABLE_ERROR errors.

To fix the problem, do not add IF EXISTS when executing DROP TEMPORARY
TABLE on the slave, and clear the ER_BAD_TABLE_ERROR error after
execution if the query does not expect any errors.
2009-12-31 11:33:10 +08:00
Ramil Kalimullin
6c16fb6d4e Auto-merge. 2009-12-26 14:59:56 +04:00
Luis Soares
6d96d334fa BUG#48738: post-push fix. Multi-platform test improvements, mainly
to make the test run gracefully on windows.

There was also a syntax error in windows part of the test.
2009-12-24 15:20:58 +00:00
Ramil Kalimullin
ee403cc1a2 Fix for bug#49570: Assertion failed: !(order->used & map)
on re-execution of prepared statement

Problem: some (see eq_ref_table()) ORDER BY/GROUP BY optimization
is called before each PS execution. However, we don't properly 
initialize its stucture every time before the call.

Fix: properly initialize the sturture used.
2009-12-22 10:39:29 +04:00
Serge Kozlov
27c0939846 Bug#8693, Bug#45521. 2009-12-21 14:40:08 +03:00
Davi Arnaut
b9380f0e76 Bug#48983: Bad strmake calls (length one too long)
The problem is a somewhat common misusage of the strmake function.
The strmake(dst, src, len) function writes at most /len/ bytes to
the string pointed to by src, not including the trailing null byte.
Hence, if /len/ is the exact length of the destination buffer, a
one byte buffer overflow can occur if the length of the source
string is equal to or greater than /len/.
2009-12-17 15:58:38 -02:00
Andrei Elkin
0f73979084 Bug #49740 rpl.rpl_temporary fails in PB2 in mysql-trunk-merge
The test allowed random coincidence of connection ids for two concurrent
sessions performing CREATE/DROP temp tables.

Fixed with correcting the test. The sessions connection ids are not changed
from their defaults anymore.
2009-12-17 16:34:11 +02:00