Commit graph

10549 commits

Author SHA1 Message Date
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
c132038451 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b21976/my50-b21976
2007-03-29 13:37:07 +05:00
gkodinov/kgeorge@magare.gmz
1a2ca44e2b Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27300-5.0-opt
2007-03-29 11:01:32 +03:00
sergefp@mysql.com
399bc9861e Merge of BUG#26624 and BUG#26625 2007-03-29 10:35:28 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
73f0c5d7c6 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b26359/b26359.5.0
2007-03-29 11:06:15 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
e3c34c9cbf Fix for bugs
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode

Problems: 
1. storing a string to an integer field we don't check 
   if strntoull10rnd() returns MY_ERRNO_EDOM error.
   Fix: check for MY_ERRNO_EDOM.
2. storing a string to an year field we use my_strntol() function.
   Fix: use strntoull10rnd() instead.
2007-03-29 09:08:30 +05:00
tsmith@siva.hindu.god
ecd22993cf Bug #26642: create index corrupts table definition in .frm
Thanks to Martin Friebe for finding and submitting a fix for this bug!

A table with maximum number of key segments and maximum length key name
would have a corrupted .frm file, due to an incorrect calculation of the
complete key length.  Now the key length is computed correctly (I hope) :-)

MyISAM would reject a table with the maximum number of keys and the maximum
number of key segments in all keys.  It would allow one less than this total
maximum.  Now MyISAM accepts a table defined with the maximum.  (This is a
very minor issue.)
2007-03-28 15:25:13 -06:00
tsmith@siva.hindu.god
7366ecdb0e Merge siva.hindu.god:/home/tsmith/m/bk/maint/bmisc/50
into  siva.hindu.god:/home/tsmith/m/bk/maint/50
2007-03-28 12:27:37 -06:00
sergefp@mysql.com
a8d439728f BUG#26624: high mem usage (crash) in range optimizer
- Added PARAM::alloced_sel_args where we count the # of SEL_ARGs
  created by SEL_ARG tree cloning operations.
- Made the range analyzer to shortcut and not do any more cloning 
  if we've already created MAX_SEL_ARGS SEL_ARG objects in cloning.
- Added comments about space complexity of SEL_ARG-graph 
  representation.
2007-03-28 20:16:01 +04:00
bar@mysql.com
4b3826ba8c Bug#22638 SOUNDEX broken for international characters
Problem: SOUNDEX returned an invalid string for international
characters in multi-byte character sets.
For example: for a Chinese/Japanese 3-byte long character
_utf8 0xE99885 it took only the very first byte 0xE9,
put it into the outout string and then appended with three 
DIGIT ZERO characters, so the result was 0xE9303030 - which
is an invalide utf8 string.
Fix: make SOUNDEX() multi-byte aware and - put only complete
characters into result, thus return only valid strings.
This patch also makes SOUNDEX() compatible with UCS2.
2007-03-28 18:57:30 +05:00
gkodinov/kgeorge@magare.gmz
c3eb3f7093 Bug #27300:
Geometry fields have a result type string and a 
  special subclass to cater for the differences
  between them and the base class (just like 
  DATE/TIME).
  When creating temporary tables for results of 
  functions that return results of type GEOMETRY
  we must construct fields of the derived class 
  instead of the base class.
  Fixed by creating a GEOMETRY field (Field_geom) 
  instead of a generic BLOB (Field_blob) in temp 
  tables for the results of GIS functions that 
  have GEOMETRY return type (Item_geometry_func).
2007-03-28 14:35:23 +03:00
msvensson@pilot.blaudden
aec7927c8e Bug#25309 SSL connections without CA certificate broken since MySQL 5.0.23
- Turn off verification of peer if both ca_path and ca_file is null
   i.e from only passing --ssl-key=<client_key> and --ssl-cert=<client_cert>
   to the mysql utility programs.
   The server will authenticate the client accoring to GRANT tables
   but the client won't authenticate the server
2007-03-28 12:23:55 +02:00
istruewing@chilla.local
9470f149b6 After merge fix 2007-03-28 12:11:44 +02:00
gkodinov/kgeorge@magare.gmz
9c55cd3e03 disabled a test reuturning wrong result (reported separately) 2007-03-28 12:09:30 +03:00
istruewing@chilla.local
a2d7a05f88 Merge chilla.local:/home/mydev/mysql-4.1-axmrg
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-03-28 10:25:51 +02:00
istruewing@chilla.local
1201f653e5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-03-28 10:20:46 +02:00
tomas@whalegate.ndb.mysql.com
5f1abd8c6b Bug #25275 SINGLE USER MODE prevents ALTER on non-ndb tables for other mysqld nodes
- test case
2007-03-28 10:10:27 +02:00
msvensson@pilot.blaudden
8c5be6a220 Merge pilot.blaudden:/home/msvensson/mysql/bug25197/my50-bug25197
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-03-28 09:34:04 +02:00
msvensson@pilot.blaudden
171e91f17d Bug#25197 repeat function returns null when using table field directly as count
- Add extra test case from bug#27073
 - Change "if" to be optimized for count > 0
2007-03-28 09:32:49 +02:00
istruewing@chilla.local
fd8ebd5657 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-03-28 08:59:30 +02:00
istruewing@chilla.local
2ce22c3f6f Merge chilla.local:/home/mydev/mysql-4.1-bug26231
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-03-28 08:57:46 +02:00
istruewing@chilla.local
bba96f35c8 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug24985
2007-03-28 08:51:12 +02:00
msvensson@pilot.blaudden
2600dade72 Remove remnants of ssl_des.test 2007-03-27 21:29:45 +02:00
istruewing@chilla.local
e5f50abcd9 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-bug24985
2007-03-27 21:19:25 +02:00
anozdrin/alik@alik.opbmk
cc83bb0784 Fix for BUG#25082: default database change on trigger
execution breaks replication.

When a stored routine is executed, we switch current
database to the database, in which the routine
has been created. When the stored routine finishes,
we switch back to the original database.

The problem was that if the original database does not
exist (anymore) after routine execution, we raised an error.

The fix is to report a warning, and switch to the NULL database.
2007-03-27 21:55:01 +04:00
igor@olga.mysql.com
adc07255ee Fixed bug #27348.
If a set function with a outer reference s(outer_ref) cannot be aggregated 
the outer query against which the reference has been resolved then MySQL
interpretes s(outer_ref) in the same way as it would interpret s(const).
Hovever the standard requires throwing an error in this situation.
Added some code to support this requirement in ansi mode.
Corrected another minor bug in Item_sum::check_sum_func.
2007-03-27 09:48:10 -07:00
iggy@recycle.(none)
bbc38df090 Bug#23491 MySQLDump prefix function call in a view by database name
- mysqldump executes a SHOW CREATE VIEW statement to generate the text
that it outputs.  When the function name is retrieved it's database 
name is unconditionally prepended.  This change causes the function's 
database name to be prepended only when it was used to define the 
function.
2007-03-27 12:31:44 -04:00
gkodinov/kgeorge@magare.gmz
4f2ec8f3de Bug #26815:
When creating a temporary table the concise column type
 of a string expression is decided based on its length:
 - if its length is under 512 it is stored as either 
   varchar or char.
 - otherwise it is stored as a BLOB.
 
 There is a flag (convert_blob_length) to create_tmp_field 
 that, when >0 allows to force creation of a varchar if the
 max blob length is under convert_blob_length.
 However it must be verified that convert_blob_length 
 (settable through a SQL option in some cases) is 
 under the maximum that can be stored in a varchar column.
 While performing that check for expressions in 
 create_tmp_field_from_item the max length of the blob was
 used instead. This causes blob columns to be created in the
 heap temp table used by GROUP_CONCAT (where blobs must not
 be created in the temp table because of the constant 
 convert_blob_length that is passed to create_tmp_field() ).
 And since these blob columns are not expected in that place
 we get wrong results.
 Fixed by checking that the value of the flag variable is 
 in the limits that fit into VARCHAR instead of the max length
 of the blob column.
2007-03-27 19:28:04 +03:00
tomas@whalegate.ndb.mysql.com
960bfa1768 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-03-27 18:11:48 +02:00
thek@kpdesk.mysql.com
1381b26e36 Corrected error in test case:
- 1.84e+15 converted to unsigned bigint should be
  18400000000000000000 < 18446744073709551615.
- The test will still fail on windows, and is extracted
  into a new bug report.
2007-03-27 18:05:17 +02:00
istruewing@chilla.local
01be61e307 Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
causes incorrect duplicate entries
After merge fix
2007-03-27 12:39:31 +02:00
istruewing@chilla.local
ef1dec00c4 Merge chilla.local:/home/mydev/mysql-4.1-bug24985
into  chilla.local:/home/mydev/mysql-5.0-bug24985
2007-03-27 10:54:37 +02:00
istruewing@chilla.local
8934e4f3cc Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
causes incorrect duplicate entries

Keys for BTREE indexes on ENUM and SET columns of MEMORY tables
with character set UTF8 were computed incorrectly. Many
different column values got the same key value.

Apart of possible performance problems, it made unique indexes
of this type unusable because it rejected many different
values as duplicates.

The problem was that multibyte character detection was tried
on the internal numeric column value. Many values were not
identified as characters. Their key value became blank filled.

Thanks to Alexander Barkov and Ramil Kalimullin for the patch,
which sets the character set of ENUM and SET key segments to
the pseudo binary character set.
2007-03-27 10:49:48 +02:00
bar@mysql.com
1b426d3c6d Bug#27079 Crash while grouping empty ucs2 strings
Problem: GROUP BY on empty ucs2 strings crashed server.
Reason: sometimes mi_unique_hash() is executed with
ptr=null and length=0, which means "empty string".
The branch of code handling UCS2 character set
was not safe against ptr=null and fell into and
endless loop even if length=0 because of poiter
arithmetic overflow.
Fix: adding special check for length=0 to avoid pointer arithmetic
overflow.
2007-03-27 12:20:20 +05:00
tomas@whalegate.ndb.mysql.com
2923b52e38 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-03-26 21:02:14 +02:00
gkodinov/kgeorge@magare.gmz
ce9cc47a73 WL3527: 5.0 part:
enabled the optional FOR JOIN to all the three
clauses : USE, FORCE and IGNORE
2007-03-26 16:52:52 +03:00
gkodinov/kgeorge@magare.gmz
a65bc60d1a Merge magare.gmz:/home/kgeorge/mysql/work/B27164-4.1-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27164-5.0-opt
2007-03-26 14:14:23 +03:00
pekka@clam.ndb.mysql.com/clam.(none)
6ec8bb230a Merge clam.ndb.mysql.com:/export/space/pekka/ndb/version/my50-ndb
into  clam.ndb.mysql.com:/export/space/pekka/ndb/version/my50-bug24028
2007-03-26 12:50:40 +02:00
gkodinov/kgeorge@magare.gmz[kgeorge]
e6d81ad338 Bug #27164: not reseting the data pointer
to 0 causes wrong (large) length to be read
 from the row in _mi_calc_blob_length() when 
 storing NULL values in (e.g) POINT columns.
 This large length is then used to allocate
 a block of memory that (on some OSes) causes
 trouble.
 Fixed by calling the base class's 
 Field_blob::reset() from Field_geom::reset()
 that is called when storing a NULL value into
 the column.
2007-03-26 13:17:40 +03:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
d0ed1216e2 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b25301/b25301.5.0
2007-03-26 13:43:20 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
74b3cdb02e Fix for bug #25993: mysqldump crashes with merge table and -c option
opt_complete_insert was improperly used by accident.
Use complete_insert flag instead.
2007-03-26 12:56:41 +05:00
aelkin/elkin@dsl-hkibras1-ff1dc300-249.dhcp.inet.fi
f18d5d04f8 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-marvel
into  dsl-hkibras1-ff1dc300-249.dhcp.inet.fi:/home/elkin/MySQL/MAIN/5.0-marvel-bug23333_sf_side_eff_binlog
2007-03-24 19:21:27 +02:00
aelkin/elkin@dsl-hkibras1-ff1dc300-249.dhcp.inet.fi
5a4bee6590 Bug #27395 OPTION_STATUS_NO_TRANS_UPDATE is not preserved at the end of SF()
removing test host sensitive stuff for pushbuild
2007-03-24 19:20:00 +02:00
serg@sergbook.mysql.com
237ed0c3e5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-marvel
into  sergbook.mysql.com:/usr/home/serg/Abk/mysql-5.0
2007-03-24 17:16:53 +02:00
serg@sergbook.mysql.com
06d3329ea9 Merge sergbook.mysql.com:/usr/home/serg/Abk/mysql-5.0-build
into  sergbook.mysql.com:/usr/home/serg/Abk/mysql-5.0
2007-03-24 14:41:44 +02:00
aelkin/elkin@andrepl.(none)
61f871e998 Bug #27395 OPTION_STATUS_NO_TRANS_UPDATE is not preserved at the end of SF()
eliminating the unnecessary option; and replacing site-dependant stuff in the test
2007-03-24 14:40:38 +02:00
aelkin/elkin@andrepl.(none)
8cfa54eb39 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-marvel
into  andrepl.(none):/home/elkin/MySQL/MAIN/5.0-marvel-bug23333_sf_side_eff_binlog
2007-03-24 14:14:46 +02:00
tsmith@siva.hindu.god
47cce188b3 Bug #24563: MBROverlaps does not seem to function propertly.
Fix is to rewrite the MBR::overlaps() function, to compute the dimension of both
arguments, and the dimension of the intersection; test that all three dimensions are the
same (e.g., all are Polygons).

Add tests for all MBR* functions for various combinations of shapes, lines and points.
2007-03-23 16:28:07 -06:00
serg@sergbook.mysql.com
77718a3fc1 bug in im* tests - missing --no-defaults in the mysql command line 2007-03-23 22:16:32 +02:00
tnurnberg@sin.intern.azundris.com
93db05429f Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-marvel
into  sin.intern.azundris.com:/home/tnurnberg/26817/50-26817
2007-03-23 20:40:35 +01:00
tnurnberg@sin.intern.azundris.com
7c63826894 Bug #26817: mysqldump fails to backup database containing view with invalid definer
give some leeway on required permissions for SHOW FIELDS on views so
an unknonwn DEFINER will no longer break mysqldump
2007-03-23 19:24:03 +01:00