1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-08 00:28:29 +03:00
Commit Graph

14166 Commits

Author SHA1 Message Date
gshchepa/uchum@gleb.loc
e5394523d3 Merge gleb.loc:/home/uchum/work/bk/5.0-opt-28076
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-11-10 23:58:22 +04:00
kaa@polly.(none)
b745305b20 Merge polly.(none):/home/kaa/src/opt/bug32202/my50-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-10 22:46:25 +03:00
gshchepa/uchum@gleb.loc
0aabb89ee1 Fixed bug #28076: inconsistent binary/varbinary comparison.
After adding an index the <VARBINARY> IN (SELECT <BINARY> ...)
clause returned a wrong result: the VARBINARY value was illegally padded
with zero bytes to the length of the BINARY column for the index search.
(<VARBINARY>, ...) IN (SELECT <BINARY>, ... ) clauses are affected too.
2007-11-10 23:44:48 +04:00
tnurnberg@white.intern.koehntopp.de
d97dd5a4e5 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/scratch/tnurnberg/31800/50-31800
2007-11-10 13:35:35 +01:00
tnurnberg@mysql.com/white.intern.koehntopp.de
dd7452c280 Bug#31800: Date comparison fails with timezone and slashes for greater than comparison
BETWEEN was more lenient with regard to what it accepted as a DATE/DATETIME
in comparisons than greater-than and less-than were. ChangeSet makes < >
comparisons similarly robust with regard to trailing garbage (" GMT-1")
and "missing" leading zeros. Now all three comparators behave similarly
in that they throw a warning for "junk" at the end of the data, but then
proceed anyway if possible. Before < > fell back on a string- (rather than
date-) comparison when a warning-condition was raised in the string-to-date
conversion. Now the fallback only happens on actual errors, while warning-
conditions still result in a warning being to delivered to the client.
2007-11-10 13:33:42 +01:00
tnurnberg@white.intern.koehntopp.de
0cd82301fb Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/misc/mysql/31990/50-31990
2007-11-10 03:12:57 +01:00
kaa@polly.(none)
8c19367881 Fix for bug #32202: ORDER BY not working with GROUP BY
The bug is a regression introduced by the fix for bug30596. The problem
was that in cases when groups in GROUP BY correspond to only one row,
and there is ORDER BY, the GROUP BY was removed and the ORDER BY
rewritten to ORDER BY <group_by_columns> without checking if the
columns in GROUP BY and ORDER BY are compatible. This led to
incorrect ordering of the result set as it was sorted using the
GROUP BY columns. Additionaly, the code discarded ASC/DESC modifiers
from ORDER BY even if its columns were compatible with the GROUP BY
ones.

This patch fixes the regression by checking if ORDER BY columns form a
prefix of the GROUP BY ones, and rewriting ORDER BY only in that case,
preserving the ASC/DESC modifiers. That check is sufficient, since the
GROUP BY columns contain a unique index.
2007-11-09 19:12:12 +03:00
kaa@polly.(none)
6320cdedb2 Merge polly.(none):/home/kaa/src/opt/bug32020/my50-bug31445
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-09 13:41:50 +03:00
kaa@polly.(none)
e703c6a78c Fix for bug #32020: loading udfs while --skip-grant-tables is enabled
causes out of memory errors

The code in mysql_create_function() and mysql_drop_function() assumed
that the only reason for UDFs being uninitialized at that point is an
out-of-memory error during initialization. However, another possible 
reason for that is the --skip-grant-tables option in which case UDF 
initialization is skipped and UDFs are unavailable.

The solution is to check whether mysqld is running with
--skip-grant-tables and issue a proper error in such a case.
2007-11-09 13:29:43 +03:00
kaa@polly.(none)
d27375aff5 Merge polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-08 12:06:14 +03:00
kaa@polly.(none)
d11cd24c32 Merge polly.(none):/home/kaa/src/opt/bug32103/my41-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-4.1-opt
2007-11-08 12:04:48 +03:00
kaa@polly.(none)
8efd7ef146 Merge polly.(none):/home/kaa/src/opt/bug32103/my41-bug26215
into  polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215
2007-11-08 11:46:58 +03:00
tnurnberg@mysql.com/white.intern.koehntopp.de
5a5ed2a509 Bug#31990: MINUTE() and SECOND() return bogus results when used on a DATE
HOUR(), MINUTE(), ... returned spurious results when used on a DATE-cast.
This happened because DATE-cast object did not overload get_time() method
in superclass Item. The default method was inappropriate here and
misinterpreted the data.

Patch adds missing method; get_time() on DATE-casts now returns SQL-NULL
on NULL input, 0 otherwise. This coincides with the way DATE-columns
behave.
2007-11-08 06:08:44 +01:00
gkodinov/kgeorge@magare.gmz
767dca6251 Bug #31928: Search fails on '1000-00-00' date after sql_mode change
When constructing a key image stricter date checking (from sql_mode)
should not be enabled, because it will reject invalid dates that the
server would otherwise accept for searching when there's no index.
 
Fixed by disabling strict date checking when constructing a key image.
2007-11-07 18:02:12 +02:00
kaa@polly.(none)
f1a3c36403 Fix for bug #32103: optimizer crash when join on int and mediumint with
variable in where clause.

Problem: the new_item() method of Item_uint used an incorrect
constructor. "new Item_uint(name, max_length)" calls
Item_uint::Item_uint(const char *str_arg, uint length) which assumes the
first argument to be the string representation of the value, not the
item's name. This could result in either a server crash or incorrect
results depending on usage scenarios.

Fixed by using the correct constructor in new_item():
Item_uint::Item_uint(const char *str_arg, longlong i, uint length).
2007-11-07 18:45:04 +03:00
kaa@polly.(none)
4aa0402224 Fix for bug #30666: Incorrect order when using range conditions on 2
tables or more

The problem was that the optimizer used the join buffer in cases when
the result set is ordered by filesort. This resulted in the ORDER BY
clause being ignored, and the records being returned in the order
determined by the order of matching records in the last table in join.

Fixed by relaxing the condition in make_join_readinfo() to take
filesort-ordered result sets into account, not only index-ordered ones.
2007-11-07 14:00:45 +03:00
svoj@mysql.com/june.mysql.com
d06e2f9223 BUG#32111 - Security Breach via DATA/INDEX DIRECORY and RENAME TABLE
RENAME TABLE against a table with DATA/INDEX DIRECTORY overwrites
the file to which the symlink points.

This is security issue, because it is possible to create a table with
some name in some non-system database and set DATA/INDEX DIRECTORY
to mysql system database. Renaming this table to one of mysql system
tables (e.g. user, host) would overwrite the system table.

Return an error when the file to which the symlink points exist.
2007-11-06 18:09:33 +04:00
istruewing@stella.local
0c9c041fde Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-06 13:56:15 +01:00
istruewing@stella.local
30b409bd6f Bug#4692 - DISABLE/ENABLE KEYS waste a space
Disabling and enabling indexes on a non-empty table grows the
index file.

Disabling indexes just sets a flag per non-unique index and does not
free the index blocks of the affected indexes. Re-enabling indexes
creates new indexes with new blocks. The old blocks remain unused
in the index file.

Fixed by dropping and re-creating all indexes if non-empty disabled
indexes exist when enabling indexes. Dropping all indexes resets
the internal end-of-file marker to the end of the index file header.
It also clears the root block pointers of every index and clears the
deleted blocks chains. This way all blocks are declared as free.
2007-11-06 13:41:32 +01:00
malff@lambda.hsd1.co.comcast.net.
00f1af47e4 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-11-05 09:50:09 -07:00
holyfoot/hf@hfmain.(none)
9e2a652856 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/31758/my50-31758
2007-11-05 19:07:03 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
18ab121a3c merging 2007-11-05 18:23:55 +04:00
holyfoot/hf@hfmain.(none)
9f40b1dae3 Merge mysql.com:/home/hf/work/31758/my41-31758
into  mysql.com:/home/hf/work/31758/my50-31758
2007-11-05 18:12:42 +04:00
istruewing@stella.local
2481d2c1e3 Bug#32108 - subselect.test produces warnings files
Comment sign of -- at line begin in test files lead to warnings
from mysqltest.
  
Changed -- to #.
2007-11-05 14:44:38 +01:00
istruewing@stella.local
aac68041ef Bug#32107 - ctype_uca.test produces warnings files
Comment sign of -- at line begin in test files lead to warnings
from mysqltest.
  
Changed -- to #.
2007-11-05 14:37:00 +01:00
tomas@whalegate.ndb.mysql.com
e981c427d8 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2007-11-02 23:33:25 +01:00
tomas@whalegate.ndb.mysql.com
ca0cbdd8ee Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2007-11-02 23:31:23 +01:00
kaa@polly.(none)
fa462599ca Merge polly.(none):/home/kaa/src/opt/bug26215/my50-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-02 17:23:12 +03:00
istruewing@stella.local
6e7c0f8a65 Merge stella.local:/home2/mydev/mysql-5.0-ateam
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-02 15:10:13 +01:00
istruewing@stella.local
377f187066 Merge stella.local:/home2/mydev/mysql-4.1-ateam
into  stella.local:/home2/mydev/mysql-4.1-axmrg
2007-11-02 14:48:36 +01:00
kaa@polly.(none)
9cd5f49c53 Fix for:
bug #26215: mysql command line client should not strip comments
              from SQL statements
and
  bug #11230: Keeping comments when storing stored procedures

With the introduction of multiline comments support in the command line
client (mysql) in MySQL 4.1, it became impossible to preserve
client-side comments within single SQL statements or stored routines.
This feature was useful for monitoring tools and maintenance.

The patch adds a new option to the command line client
('--enable-comments', '-c') which allows to preserve SQL comments and
send them to the server for single SQL statements, and to keep comments
in the code for stored procedures / functions / triggers.

The patch is a modification of the contributed patch from bug #11230
with the following changes:
- code style changes to conform to the coding guidelines
- changed is_prefix() to my_strnncoll() to detect the DELIMITER
command, since the first one is case-sensitive and not charset-aware
- renamed t/comments-51.* to t/mysql_comments.*
- removed tests for comments in triggers since 5.0 does not have SHOW
CREATE TRIGGER (those tests will be added back in 5.1).

The test cases are only for bug #11230. No automated test case for bug
#26215 is possible due to the test suite deficiencies (though the cases
from the bug report were tested manually).
2007-11-02 13:40:34 +03:00
istruewing@stella.local
7819ec9f0e Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-02 10:14:26 +01:00
istruewing@stella.local
8d4b8423f7 Bug#31030 - rpl000015.test fails if $MYSQL_TCP_PORT != 3306
Preliminarily disabled test case
2007-11-02 10:11:26 +01:00
svoj@june.mysql.com
0ea269caac Merge mysql.com:/home/svoj/devel/mysql/BUG11392/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG11392/mysql-5.0-engines
2007-11-02 12:58:20 +04:00
gkodinov/kgeorge@magare.gmz
92a5605d43 Bug #31794: no syntax error on SELECT id FROM t HAVING count(*)>2
The HAVING clause is subject to the same rules as the SELECT list
about using aggregated and non-aggregated columns.
But this was not enforced when processing implicit grouping from
using aggregate functions.
Fixed by performing the same checks for HAVING as for SELECT.
2007-11-01 18:36:24 +02:00
istruewing@stella.local
fc888bc932 Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-01 15:07:00 +01:00
istruewing@stella.local
1b165ef41f Post-merge fix 2007-11-01 15:04:23 +01:00
istruewing@stella.local
382f62b10b Bug#31909 - New gis.test creates warnings files
Comment sign of -- at line begin in test files lead to warnings
from mysqltest.

Changed -- to #.
2007-11-01 15:03:09 +01:00
malff@lambda.hsd1.co.comcast.net.
5bcb976bc2 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-11-01 06:35:22 -06:00
istruewing@stella.local
cd49a77add Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-10-31 12:31:36 +01:00
istruewing@stella.local
f380491231 Merge stella.local:/home2/mydev/mysql-4.1-amain
into  stella.local:/home2/mydev/mysql-4.1-axmrg
2007-10-31 00:50:03 +01:00
df@pippilotta.erinye.com
220add0366 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
2007-10-30 15:37:48 +01:00
df@pippilotta.erinye.com
e5b809333c bug#30630 2007-10-30 15:22:52 +01:00
gkodinov/kgeorge@magare.gmz
f370e4b3d4 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31884-5.0-opt
2007-10-30 16:18:56 +02:00
gkodinov/kgeorge@magare.gmz
01fe24cd68 Bug #31884: Assertion + crash in subquery in the SELECT clause.
Item_in_subselect's only externally callable method is val_bool().
However the nullability in the wrapper class (Item_in_optimizer) is 
established by calling the "forbidden" method val_int().

Fixed to use the correct method (val_bool() ) to establish nullability 
of Item_in_subselect in Item_in_optimizer.
2007-10-30 14:27:21 +02:00
svoj@mysql.com/june.mysql.com
cbd3dfbbcb BUG#11392 - fulltext search bug
Fulltext boolean mode phrase search may crash server on platforms
where size of pointer is not equal to size of unsigned integer
(in other words some 64-bit platforms).

The problem was integer overflow.

Affects 4.1 only.
2007-10-30 14:46:43 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
e93574e9d1 Bug #31758 inet_ntoa, oct crashes server with null+filesort
Item_func_inet_ntoa and Item_func_conv inherit 'maybe_null' flag from an
argument, which is wrong.
Both can be NULL with notnull arguments, so that's fixed.
2007-10-30 12:35:03 +04:00
malff@lambda.weblab
6d15d42eca Merge lambda.weblab:/home/malff/TREE/mysql-5.0-base
into  lambda.weblab:/home/malff/TREE/mysql-5.0-rt-merge
2007-10-29 07:53:15 -06:00
gluh@mysql.com/eagle.(none)
6b92ec4acb Bug#30889: filesort and order by with float/numeric crashes server
There are two problems with ROUND(X, D) on an exact numeric 
(DECIMAL, NUMERIC type) field of a table:
1) The implementation of the ROUND function would change the number of decimal
places regardless of the value decided upon in fix_length_and_dec. When the
number of decimal places is not constant, this would cause an inconsistent
state where the number of digits was less than the number of decimal places,
which crashes filesort.

Fixed by not allowing the ROUND operation to add any more decimal places than
was decided in fix_length_and_dec.

2) fix_length_and_dec would allow the number of decimals to be greater than
the maximium configured value for constant values of D. This led to the same 
crash as in (1).

Fixed by not allowing the above in fix_length_and_dec.
2007-10-29 15:39:56 +04:00
joerg@trift2.
408727615c Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-10-29 11:55:48 +01:00